AirController does not respect the UpDirection of the ControllerManager using it

This appears to be a logic bug, so I don’t think system information would be necessary. If it’s needed, I can provide it

If the active controller of a ControllerManager is an AirController, it will always apply forces as if the UpDirection is 0,1,0, even if it is something else.

This messes with the expected movement along the horizontal plane, causing strange behaviour.

(i made most of the character parts massless for the demo just to show what its actually doing. usually it just Prevents moving along that axis)

a RBXL showing the bug is in the private message. I’m not using the default character controller library for this and would rather not publicly release the code rn (mostly since it’s super unfinished)

Expected behavior

The MoveDirection should always be in respect to the UpDirection, regardless of which controller is active.

A private message is associated with this bug report

1 Like

To add to this, moving forwards/backwards would work; but it’s not shown in the video.

In my testing, setting the Y axis on the MoveDirection does not resolve the issue either. It’s plausible I was doing it wrong, but I think I would’ve seen some vertical movement even if it probably would’ve been in the wrong direction because im not very smart

bump, made by own character controller code with gravity control but the upvector is extremely finicky which prevents me from fully finishing it. the controller seems to always work well when the upvector is just 0,1,0 but always has incorrect physics when changed. had to resort to a hacky workaround but even then it has weird fling/push issues and mispredictions

1 Like