This has something to do with gravity or the physics coming to a rest. I was making a grenade and when it touches the ground it just gets deleted after a short delay (roughly 1 second). I move it higher up into the air and as long as it explodes before touching the ground or very shortly after it explodes properly. Otherwise it’s deleted before it makes it to the ground and the delay doesn’t have enough time to finish.
To be clear. Begin Play > Delay 2 seconds > Emitter > Sound > Destroy self It gets interrupted during the delay and just poofs. No emitter or anything. Even when I remove all of my code and even start from a blank slate with a new actor this happens. I remove the projectile movement component and the problem is solved.
So I went and I grabbed a laser projectile I’d made. It’s just a static mesh (sphere) with a projectile movement component. I checked them side by side to see why that one didn’t have the problem. I disabled gravity on my grenade in the projectile movement options and BAM. Problem solved. Except uh. No gravity now. So awks.
I have faced this problem some time ago. After trying all the available actions, I could find out a solution for it. Please check the defaultsceneroot component of the actor. If it is not set, assign something like a mesh component as a root. Then, the projectile movement component will not destroy the actor.