Hit events are not generated all the time

Hi Ed,

for your answer.

I am already using the default Mannequin character from the FPS template.

Up to step 6 we share the exact same setup. But yes I’ve used the mesh’s own collider (without a collision component) to get hit events. However I’ve tried your collision component option but unfortunately it didnt work as expected either.

To update the mesh using physical simulation, I have to let the skeletal mesh to respond the collisions otherwise the engine gives me an error.

I’ve tried to disable skeletal mesh from generating hit events (but still updated by physics). And tried both sphere and capsule collision components (both as root of the actor and child of the s.mesh within the actor). Capsule and sphere collision components resolved the issue but with high speed projectiles this time some of the hits are missed entirely (instead of getting reflected from surfaces they pass through). Enabling CCD also did not resolve the issue and I did not want to activate substepping for performance considerations.

Though I’ve found a better solution to my problem. Whenever I fire a ranged weapon I the PredictProjectilePath function from the Unreal library. I set Object types to WorldStatic only. This gives me an estimated trajectory of the bullet which considers only static actors. Then I assign the trajectory to a spline component I attached to the projectile actor.

At each Tick (tick times can be configured for performance) event of the projectile, I first accumulate the deltaTime parameter into a shootTime which was initiated to zero when the Shoot function was called. I then sample the next position on the spline at shootTime. And attempt to Move the projectile to the next position (and rotation) with a sweep. If the sweep returns a hit actor and a bone then I the takeDamage routine of my interface.

This approach effectively solves the high speed bullet collision problem and consistently captures all hit events. It is also configurable through setting the tick interval of the projectile. Basically more ticks = smoother projectile path, less ticks = less sweep querries.

I believe this is a good answer to this question. But I still believe that the missing hit events issue is a bug.