Please use code-tags when posting code and not plain-text. You can edit your post above to use these too.
Next, dumping code doesn’t describe what you have already done to debug it. What debugging have you done? If you’re not moving then it’ll be because you’re not asking for any moves etc. What debugging have you done to check to see if you are asking for a move? Nothing? If not then this is a good place to start on how to begin to do that: Unity - Manual: Debug C# code in Unity
So movement is never zero in the text above maybe. This is where you start to figure out why that is. Maybe because there’s always a hit where you are because you’re slightly overlapped so the cast isn’t a good method for this determination and/or your movement that is attempting to not overlap is failing.