How to create a Dash System that Knockbacks other Characters?

Looking to create a knockback system for a Dash Knockback.
The idea is only 1 camera, top down.
players can dash around the map. BUT if they run into another player, that player gets pushed back.

For example
Player A dashing around. Bumps into player B who gets pushed back in whatever direction Player A hit them from.
Player A has its own knockback (already got that working).

Here are 2 screenshots of what I have so far. I can get a LaunchCharacter to work but how do I make that know which way they got dashed into and be pushed AWAY from other player?


To push away from player A, could just get their velocity when the hit happens to knock player b in the movement direction. May want to multiply the velocity to give it more oomph though. Or use the FindLookAtRotation node from player b to player a and multiply by -1 to find the away direction.

Would you mind showing me what that would look like visually?

Kinda messy way of using lookat rotation:

Using a cast there probably isn’t good either. Maybe better to put knockback event on the target so it doesn’t need to cast. I just threw it on a player char to test it and get a quick screenshot.

ahh ok. That makes sense.
For this would you recommend using a trace or an overlap module?

I’ve been working with both and both have pros and cons for what I’m trying to do. But the knockback is somethings ive been trying to nail down well.

EDIT: That method worked better than hoped. Had to Implement a Set Collision Enabled after placing a Box Collision on Player Character. In the Construction Graph of Character placing a Set Collision Enabled node to probe only and the target as the box . Ill post a shot here soon. But thank you

1 Like

Instead of adding a box, you could also just change the collision response of the capsule. I do this in my dash attacks:

This lets player dash through pawns while still hitting the world.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.