Download

How do I apply damage when specific components of two actors touch?

Okay, so in my game I have a ship pawn that’s made of several components.

In the center is the actual ship itself, then there’s a flat plane with a texture applied that creates a sort of glowing shield around the ship.

I have it scripted so that if any enemy overlaps the shield, it applies a certain amount of damage per second.

I want to have it so that if the enemy ship overlaps my actual ship (not the shield) that it applies damage to the player ship.

I’ve tried OnHit events, but they seem to work sporadically, and only if the player ship is moving around.

I’ve tried overlap events, but I can’t get it to apply damage only when overlapping specific components.

TLDR: How do I apply damage when specific components of two actors touch?

On Component Begin Overlap / On Component End Overlap.

Start applying the damage on the begin overlap and have it keep cycling the damage until the End Overlap is triggered, which means that it is no longer overlapping.

Just apply damage to the actor who touches the overlapping actor. From the overlapping actor you can get the pawn who is overlapping you can cast to him with this object and subtract health or what every you want :slight_smile:

As the others said, you can just use On Component Begin/End Overlap events.