When actor is destroyed, event is no longer triggered.

There is no need to use Tick at all. Unreal Engine has a volume called KillZVolume. You can find it under PlaceActor->Volumes->KillZVolumes

Then in your actor, you can override virtual void FellOutOfWorld(const UDamageType& dmgType) override;

You can find more info here: WTF Is? Volume - Kill Z in Unreal Engine 4 - YouTube

Try to avoid using Tick fucntion as much as you can. You should focus your game to be event based in order to keep it optimized.

And, one more thing, please don’t use GetAllActorsOfClass, especially not in the game runtime (after world’s BeginPlay). You can create list of actors, or whatever you need, in your GameMode (offline game), or GameState (online game). GetAllActorsOfClass is not cheap at all.

2 Likes