Question with MoveDirection, Roblox Movement, And Roblox Velocity Options

I’m working on making a movement system, it already works perfectly fine by setting the HumanoidRootPart velocity while in air to simulate a more realistic movement style, but setting velocity, using linear velocity, walktopoint (I feel like I’ve tried everything) yield poor results, Roblox’s walkspeed movement that is directed by MoveDirection is smoother, it doesn’t get stuck on walls, bounce, or any of that stuff (other methods do this). I was wondering if anyone knew anything about the topic of better client sided ways to apply velocity OR if anyone knows how to alter the MoveDirection or how Roblox’s movement actually runs (that would be ideal, that way I could essentially set the “moveDirection” while in air to achieve this effect).

Thanks, if you have any sources I would love to see them!