Or am I doing everything correct and I need to update BodyAngularVelocity as well?
Also if anyone at Roblox is reading this, can you add an article on the Developer Documentation on how to switch instead of saying what to use? That would make my life 10x easier.
In your use case where you want MaxForce to be 0 on the Y axis it’s possible with LinearVelocity, by setting VelocityConstraintMode to Plane, RelativeTo to World and the two axes to the X and Z axes respectively. Notice Z is (0, 0, -1) and not (0, 0, 1). It should look like this:
Now you set the velocity using PlaneVelocity instead.
PrimaryTangentAxis should be (1, 0, 0) and SecondaryTangentAxis (0, 0, -1). Seems like you’ve set it to (0, 0, 0). Let me know if it still doesn’t work