So I’ve made some adjustments to try to fix the 45 degree rotation jumping but it’s not working. Do you have idea why it wouldn’t work in this case?
From what I have here, it looks like it should update the rotation as normal so long as the character is not in the air and the MoveForward axis is = 0. But when the MoveForward axis isn’t 0 and the Crouch button isn’t being held down, then it would check to see if the current Yaw value is a multiple of 45. If it is, start moving, if it isn’t, round the Yaw to the nearest multiple of 45, rotate the character to match then and then move.
For the Life of me I can’t see anything wrong, however, if I left my old code in but completely disconnected, the rotation works but ignores the multiple of 45 degrees check?!?! Beyond frustrating!
As you can see, there aren’t any actual events being called and nothing “should” be getting triggered from this.

