Help adding momentum to a movement game

i was trying code a momentum system for my game, but i kept getting stuck on some parts, i searched a lot on the forums but i couldnt find anything that helped
i want it to be customizable, so i could increase or decrease the “slide” duration when player stop walking, and make it not speed up so much while jumping, but still keep its previous momentum, so players can retain it, similar to Ultrakill
so far ive tried multiple ways but nothing worked, either the player stopped instantly after landing or sped up too much when jumping, i want tips or ideas on how i can fix those problems

Use a LinearVelocity bodymover.
While on the ground make sure to copy the velocity and have it disabled.
While you’re in air have it enabled.

Also use BindToRenderStep if you want the most consistent outcome.

And to fix the jumping issue you would simply just make it to where you can jump slightly midair