I have begun using AlignPosition for my game, which involves players using flight as a means to move around. I have set both MaxForce to math.huge to compensate for mass differences between characters (In this game, there is also a height system). I am setting the position for the AlignPosition to the position of the character’s HumanoidRootPart which in theory should result in the character remaining stationary and hovering in the air.
Here is the code:
But instead, much like how BodyPosition does the same thing, the character slowly creeps upward in the air. The only way I’ve found to resolve this is:
Disabling ApplyAtCenterOfMass fixes the issues. For those of you with my same issue in the future, who are maybe using a flight script or would like to use alignposition (such as setting AlignPosition.Position to the HumanoidRootPart.Position in a heartbeat connection) you will not need to offset gravity (Which was a struggle for me considering different sizes characters have different masses) if you disable ApplyAtCenterOfMass.
The reason to set the AlignPosition.Position to HumanoidRootPart.Position in a heartbeat connection in this instance is because in the event the character collides with another object, AlignPosition needs to compensate by adjusting to the new HumanoidRootPart position.
Also keep in mind this was all tested exclusively on R6