How to make player float in air but still allow movement?

I made a script that allow player to dash for a short period of time, and i want to make player able to float mid-air if they dash airborne. So when they dash at the air, they neither fall nor gain allitude from jumping, like being anchored but they still allowed to move horizontally. I’ve tried to use LinearVelocity but that just make my char freeze in place.

What should i use to achieve this?

You could anchor the HumanoidRootPart and use context action service to bind the movement inputs to functions which control it’s movement, then unbind and unanchor when finished.

Isn’t this the most complicated way and not the best way to do it, like, anchoring rootPart disable player animation and i don’t want that.

Isn’t there a BodyVelocity or something to do this?