Better way to do locked combat?

I’m making a locked combat system. To explain what I mean by locked, when you attack, the opponent will be hit backwards and you along with the opponent. If this doesn’t make sense, here’s a clip of what I’m trying to do:

I’ve tried different ways of doing this, and the one that looked the best to me was tweening the player’s humanoidRootPart to the opponent’s root position. It looks good but has many flaws such as:

1.) If you hit the opponent through a wall, you tween to their position so you go through the wall.

2.) Hitting the opponent will cause your character’s cframe to be the same as the opponent’s. So if they’re lying flat on the ground or stuck in an object the same will happen to you.

So tweening isn’t really working out and I’m not sure how to go about doing this. I also use bodyVelocity for the opponent’s knockback. Here’s a clip of my attempt to replicate what happens in the top video using tweening:

Looks alright but as I said, has many flaws, and also isn’t quite what I wanted. What are better ways to do this? And how have they gotten it so clean in the top video?

Thanks.

1 Like

Solution: I used bodyVelocity to move the character’s humanoidRootPart to the humanoidRootPart’s lookVector * 30 and then made the character’s humanoidRootPart face the enemy’s rootPart.