I didn't, I got a bit frustrated, but a big part of it was the sliding, and maybe if I knew how you did the movement I could tell why it happens, but I don't know much, I've never had such an issue tbh.
Also, thanks in advance!
Is it on FixedUpdate? Maybe try moving it to Update. But I also have it on FixedUpdate, so I've no idea.
If the velocity is set to 0 on an else statement, what's the if statement? Like, if(input > 0){ make it move }or something? If that's the case, if input is 0.1 it'd still move at full speed, that also might be it.