Character Moves Faster Diagonally... How to fix please?

Yes, this somehow works as an approximation, but it is not correct. When input X and Y = 1 you have a vector length of 1.41 something. You are clamping it to 1, so you basically ignoring 40% of your input.
You got a linear transition between input X and Y = 0 to input X and Y = 0.7. After this your output will be clamped to the maximum.
I think it is not possible to calculate this without a more complicated solution as the one I posted.

1 Like