Hello!
I’ve created this “different walking speed” system. Basically, I wanted to have different speed when I’m moving forward, strafing, crouching etc. Everything finally worked fine, but then I saw when I look straigh up or down my movement speed slows down almost to zero.
Basically, when you look up or down, your character is actually trying to move up in the air or through the ground which it can’t do so it just comes to a stop.
You need to take the pitch and roll out of the equation.