How to Create Momentum based Character Movement?

So I’ve recently started try to make a 3D Platformer game. So far I’ve made a jumppad, and collectable items(etc:Rings,Coins). Im trying to make the character have more momentum based movement, when running around. But, I’m not sure where to start.

I’m trying to replicate the movement this demo shows off. Or other comparisons could be Mario Odyssey, Sonic, or Hat in Time. Any feedback would be appreciated.

Based on your video it looks like you want the character to be able to gradually speed up the longer he is being pushed to go in ANY direction, not just the current direction like true momentum.

You can do this by creating your own StartSpeed and MaxSpeed float variables in the pawn or controller, and then every time you receive an Input Axis event where the value is higher than a certain threshold, say 0.15 or 0.2, then it adds a very little bit to the CharacterMovementComponent’s Max Walking Speed, and if it’s equal to or less than that threshold value, then the Max Walking Speed decreases. Every place you set the Max Walking Speed, you Clamp it to be between StartSpeed and MaxSpeed before setting it.

Probably should multiply the input value from the input axis event by the amount you mean to increase the max walk speed by, so that the char speeds up SLOWER if the controller is not pushed all the way.