How to handle projectile with world collisions? (Trace/Overlap/Hit?)

I’ve found so many threads on this issue but I can’t find any good answers.

Say that I have a fireball projectile that moves at a moderate to fast speed, and I want it to collide both with static meshes as well as physics actors, and to create a physics impulse on hit.

The problem is, static mesh actors in the scene don’t have Generate Overlap Events enabled by default, which makes me think that enabling this for every single static actor in my scene would be a bad idea.

On the other hand, I’ve seen numerous post saying how overlap events are better than hit events in terms of performance, and I’ve also seen countless people use overlap events with projectiles, since we don’t want the projectiles to actually block movement. Is this actually just a problem of not detecting hits properly, since if the projectile exploded instantly on impact it wouldn’t impact any movement?

Using hit events would mean I wouldn’t have to enable Generate Overlap Events for everything, but I haven’t seen people use it outside of “physics” games.

Lastly, is the solution to just use a sphere trace on each projectile on tick instead? This seems like a bad idea for non-instant projectiles.

Lastly, since I want to apply a force/impulse on hit, does this change anything? This makes me think that hit would be better since it gives more accurate hit information, but I can also use overlaps with damage type that has an impulse on it.

2 Likes