Event is null on BeginPlay, but it's set in Editor

,

Hey,

In InteractableActor.hI have this event

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Audio|FMOD")
	UFMODEvent* ScrapeEvent;

I created BP_Interactable blueprint and it’s have InteractableActoras parent, and I’ve set ScrapeEventto Scrape_Woodevent, but in this code:

void AInteractableActor::BeginPlay()
{
	Super::BeginPlay();

	PreviousLocation = GetActorLocation();
	MeshComponent->OnComponentHit.AddDynamic(this, &AInteractableActor::OnHit);

	if (ScrapeEvent != nullptr)
	{
		FMOD::Studio::EventDescription* scrapeDescription = IFMODStudioModule::Get().GetEventDescription(ScrapeEvent, EFMODSystemContext::Runtime);
		scrapeDescription->createInstance(&ScrapeInstance);
		Print("Created instance from Scrape Event!", 1);
	} else
	{
		Print("Scrape Event is not set!", 1);
	}
}

Print("Scrape Event is not set!", 1); is called - the question is why, because I have ScrapeEvent set in my Blueprint.

Also - in BP_InteractableI’ve added these nodes, and it returns that ScrapeEvent is valid.

EDIT:
I removed if (ScrapeEvent != nullptr)and now it works, but how could I check if event is valid? if (ScrapeEvent)doesnt work too.

Apologies for the delay. So far I have not been able to reproduce it to get a solid answer for you.

Something that comes to mind is where blueprints are serialized from disk too early, before any plugins are loaded: https://www.fmod.com/docs/2.03/unreal/user-guide.html#loading-blueprints-before-plugin-load

Otherwise you could see if using TObjectPtr<UFMODEvent> instead of the raw pointer makes any difference.