How I can fix this humanoid swimming issue?

Hello devs. If you saw Roblox swimming, you can notice that you can’t just swim freely. Swimming system have some sort of restriction to swim at certain angle, like:


So, if you trying to swim in red angle diapason, it will just snap your move direction to horizontal plane. Is there any way to fix such behavior, or only thing I can do is rescripting of swimming?

I’m not certain but I think Roblox is clamping the angle of swimming; it might be possible to edit the current swimming script but I’m not that sure you can. You might need to create your own swimming otherwise

I’m already rewrote roblox control scripts, and swimming is HumanoidState, which allows to move in water/Y direction. So, I don’t found any Swimming related scripts nor anything about clamping.

it could also be because of the animation and Roblox’s physics

I tried to disable animations, use only 1 cube with humanoid, and I did anti-gravity force to not touch anything.