Code-spawned sounds destroyed with no OnAudioFinished

I had a similar problem before so i know what it’s like to try everything and being frustrated.

Anyway, the only explanation that seemed probable at the time when a UPROPERTY() fixed my problem is as the documentation says, an Object reference stored in a raw pointer will be unknown to the Unreal Engine and will not prevent garbage collection. The pointer gets nulled before the code reaches the OnAudioFinished callback or your custom destruction code.