OnComponentHit rarely fires when it should

I am working on a 2d project based on the arcade game Joust.

When one of the pawns’ (player or enemy) blades hits the body of the other, the one hit should take damage.

Both have “generate hit events” enabled, but most of the time hitting the other doesn’t activate their onComponentHit. When it (rarely) fires the hit event, it acts as if both pawns’ bodies are hit.

Adding/removing print statements sometimes changes the result(???).

Also, a hit event is generated from the platform even though it’s disabled(???), so I tried turning off hit events for the player’s mount. I thought it might be overriding the pawns’ hit event (idk I was just trying things).

Both onComponentHit Events activated(Player Hit after Enemy Hit):


Lose Health:

Invincibility Frames (Float=Delta Seconds, Exec=Event Tick):

Any help would be greatly appreciated!

I moved both onComponentHit Events to Player and now only one is activated.
It seems that onComponentHit sometimes returns the parent component instead of the one actually being hit and vice versa. I don’t know why.

PlayerBlade hits EnemyCube → Hit Comp is PlayerCube, Other Comp is EnemyBlade
EnemyBlade hits PlayerCube → Hit Comp is PlayerBlade, Other Comp is EnemyCube

EnemyCube is hit and Event returns EnemyBlade instead:

bump