How to give the player's movement more "Weight"

I want to replace roblox’s funny default movement where player’s accelerate at 999m/s^2 to their walk speed by something with a smoother acceleration. By this I mean I want the player’s movement speed to gradually increase and/or slow down instead of suddenly stop (more weight basically).

I understand how I can simply tween the player’s walk speed, but it only works when the player starts moving, because what it changes is the players walk speed not the velocity of the player’s humanoid root part. So I was wondering what methods could I use to achieve this effect.

TL;DR - I want to make player movement have weight, how. If I do humanoid.WalkSpeed it only work when accelerating.

(Also I want to prevent using outside API, stuff like the Source Engine’s movement script)

I sent a solution to a similar post like this. If you were looking for source engine character acceleration.

thanks for trying to help but I dont think its what im looking for :D.

I noticed how some car engines will add inertia to the character and make their movement heavy, I wonder how is that achieved because I think it might be the solution to my post :D.

Roblox has recently added a beta humanoid controller. This one works off physics so you can change the friction of the ground, and the players acceleration. From what I have tested and with a little tweaking this will achieve perfectly what you want. You will have to wait till this feature is out of beta before it works outside of studio.