Playing PlayEventAtLocation from UOBject crashing piece of code

Using PlayEventAtLocation from UObject that doesn’t have proper world context crashes the game - also blueprint function doesn’t not ask to have one as required so it should work. It’s casued by this piece of code in FMODBlueprintStatics.cpp

UWorld *ThisWorld = GEngine->GetWorldFromContextObjectChecked(WorldContextObject);
if (FMODUtils::IsWorldAudible(ThisWorld, false) && IsValid(Event))

IsWorldAudible() returns true when provided world is nullptr ( so it works correctly ), but GetWorldFromContextObjectChecked() has a check() function that crashes the game if it’s nullptr. GetWorldFromContextObject() should be used instead ( checkless version ).

Tested. Work.

Thanks for bringing this to our attention, I believe this was originally changed because the non-checked version had been deprecated. Although it should have been replaced with:

UWorld *ThisWorld = GEngine->GetWorldFromContextObject(WorldContextObject, EGetWorldErrorMode::ReturnNull);

I’ll make a task to get this fixed up.