Player keeps moving after key up

So in order to not deal with friction & rigid bodies, I decided the best way to stop my character from sliding was to set the velocity of the rigid body’s x axis to zero when Horizontal input is zero. Though this works, it delays for about half a second while the character continues to move in the direction after the movement key has been lifted. Could someone tell me why this is or how to fix it?


Here is my movement script so-far.

Found the problem in case anyone is interested. It seems the GetAxis has a smoothing function meaning that it doesn’t just hop from -1 or 1 to 0 but instead transitions between them. Seems that if you want instantaneous results GetAxisRaw is what you need to use instead.

Thanks @ Terdos