How to tell Radial Damage to only hit certain components?


Let’s say, for the sake of example, I have a character with its head detached. I’m using the “Apply radial damage” for explosions. I only want explosions to hit the head of this character, (which could be far away from the body). So when a grenade explodes next to the body, nothing should happen, only when the head is inside the explosion sphere. The head and the body have 2 separate collision spheres, and they are part of the same blueprint.

How do I make this work?

  • I tried detecting the damage with “Event RadialDamage” instead of “Event AnyDamage”, there I can check the hit component inside hit info, but the radial damage seems to only hit 1 component. So if it hit the body first, it no longer checks for hitting the head, even if that was also inside the explosion sphere.
  • I tried using “Ignored actors” on the “Apply radial damage” node, but that is for actors, I can’t specify components.
  • I tried playing around with the damage prevention channel on the radial damage, but no luck.

Hey @Saturnian!

Have you tried using a multi Sphere trace with a ForEach checking for a component tag, then applying damage if tag=match?

This is a nice workaround, seems to be working perfectly. I managed to make damage falloff work too by simply checking the distance from the trace start point.

Thank you very much!

1 Like