You are not understanding me, so I cannot help you.
You are confusing Roblox’s core scripts with their physics engine, which are not the same thing. Regardless, as a scripter you must be able to come up with creative solutions to your problems.
At no point will blaming Roblox assist you in writing the code you want, unless you have an actual bug to report. Keep on trying!
And you aren’t understanding what i’m saying, either. I’m simply saying whenever a body mover is inserted into the character while they’re touching the ground it plays the walking animation and sound, not going to repeat myself so many times. The reason why it does this is because the Player is touching the ground, physics. Although I’m not saying this is true, but this is what I stand by because it makes sense to me.
Humanoid legs have CanCollide set to false so animations don’t mess with things. That’s not a glitch. Just set CanCollide to true and have fun. Although it would be nice if you could just put the character 2 studs (or however long their legs are now THANKS RTHRO) above the part they’re “walking” on.
To achieve wall climbing your gonna have to do raycasting, preferably from atleast 2 points, in the direction of your lookVector. From these rays you can get the surface normal. Once you have the surface normal you can get the direction along the surface using cross product.
Normal:Cross(Vector3.new(1,0,0)).Unit
^^Something like that, cannot gurantee that it will work since I wrote this in a hurry.
With these two components you should manage to make yourself a wall running mechanism.