Help with movement system

Hello, I am trying to make a movement system from scratch and I have decided to make it force-based (using vectorforce). But now I ran into the problem that I cannot rotate my character without messing up the movement.
What is happening is, whenever I try to rotate humanoid root part towards the movement direction the whatever code I try messes with the position aswell.
Example: if i try CFrame.Angles() it also sets position, if i try tweening CFrame it also sets position.

I need a way to rotate without affecting position at all, or maybe another, cleverrer, way to achieve my rotation.

Does someone have experience with creating custom movement systems and could help?

1 Like

I would recommend looking into AlignOrientations, which can help you with putting a torque on the player instead of manually setting the CFrame. If you are setting CFrame.Angles, you should be able to multiply CFrame.Angles by the current CFrame.

Let me know if any of this helps, I’m not too familiar with making them in this way.

1 Like

I decided to start from scratch and try to make my system good and complex, rn im trying to implement finite state machine and some sort of input handler.

So its gonna take a while until i reach the point to try out your suggestion. But if you have any other tips / suggestions for fsm and input handler i’d love to hear!

1 Like