Because of your animation, the HumanoidRootPart could be changing it’s position and rotation before you call the movement again. I suggest at the start of the attack, define the look direction in a variable that doesn’t change and see if that works.
local lookVector = humanoid.CFrame.LookVector * 16
Not sure how you’re applying the force, in a timed loop perhaps? Whatever method you use, when setting the force of the linear velocity use the lookVector variable instead of the current root CFrame.
THE SOLUTIONS IS: IF YOU WELD SOMETHING ON ANY PLAYER CHARACTER PARTS MAKE SURE SET IT MASS LESS TRUE, because 1 part on my sword that was mass less false that was happening.
Yup. Having the same issue, it’s pulling my player not at the center (even tho my attachment is in the center??), but for some reason at an angle and causing it to spin around instead of simply go forward. Don’t know why there isn’t an option to apply at center of mass or some other option…
I actually just found a solution to this. Basically all you need to do is set the position of the attachment to the center of mass of your character. The simplest way to do this is: