Maintaining momentum after letting go of your movement keys mid-air

I’ve been having a hard time trying to figure this out as I don’t have any idea on how to script MoverConstraints and other topics about this don’t seem to provide enough information for me to work with. While I’m not sure if it is fine to still use BodyMovers, I’d prefer to learn and use whatever is meant to be the standard.

My goal is to maintain the player character’s momentum after you let go of your movement keys mid-air, because when you do, the player character loses all momentum. Other games like bhop achieve this, however I’m pretty sure they use a different movement system.

I am avoiding the use of HumanoidStateTypes as they would prevent animations and general player input.

I’d greatly appreciate any help with this, thank you!

4 Likes

You can probably do some sort of detection for when the player is in the air, then store their HumanoidRootPart.AssemblyLinearVelocity in a variable, and then in a RunService.Heartbeat function, set it manually each frame to that variable + a change so it goes down at a speed you want.

When changing it manually, I’d divide it by a number you think decreases it at a good pace and also I’d add the Humanoid.MoveDirection to make sure you can still change directions. There’s a lot to consider in these systems but try something like that. If I explained that horribly then lmk and I’ll try again lol.

Also, make sure you don’t change the Y part of it, you still want them to fall.