How would you move the player to the target

I don’t know if I should use legacy movers as they are considered deprecated. I don’t know if they CFramed it. How did they do it?

You can see that each hit moves the attacker forwards slightly.

It probably just uses BasePart:ApplyImpulse.

How would you make it travel a fixed distance without glitching out or bugging.

You’ll need to set up a debounce.
More information:

What, how is debounce needed for this???

Assuming you meant it moved over and over again, within a short time.

But it already will yield in a loop if you place a wait() in it?

Check out this video I found! It explains most things u need to know when creating a melee system. Melee Combat: Design and Tech from Roblox Developer Conference 2018

I don’t want a whole combat system, I just want a method to move the player consistently when they slash the target.

Ok. I have found a solution for u! Create an animation where u put marker-events for when the player needs to move forward in the animation action. Use GetMarkerReachedSignal(“Your event name here*”) to trigger the movement function. You could try using CFrame tweening to create the movement function of the character or make the humanoid move to a destination (u can experiment with that urself). If u want to tween ur character with CFrame then create a CFrame value which u assign to a tween function (the destination of where the character should move to in this matter) and whenever the CFrame value changes then set the character’s SetPrimaryPartCFrame() to the value of the CFrame value. (Remember assign the CFrame’s-default value to the character:GetPrimaryPartCFrame() or else it will look a bit weird). Good luck with that!

This cannot be CFrame as it would make you stay in the air as you hit it plus when you hit while walking it would make the camera go weird.