Set Actor Rotation on Character blueprint always returns true but sometimes doesn't rotate

Really strange issue. I am rotating my character towards a cursor location in the world. The Set Actor Rotation always returns true but 1 in 3 times the character does not actually rotate.

To add to this strangeness, if I output the rotation of the character the rotation SHOWS the character has rotated … but it clearly hasn’t.

The first image is the blueprint code for the character that is called, with the debugging in place.

The second image is the result of me first triggering the code with my cursor above the character (character was already facing up so this didn’t do much). Then triggering the code with the cursor below the character.

As you can see from the output next to “2”, the rotation WAS Y=0.043 (on both the client and the server) and was supposed to be updated to Y=-178.9 (on both the client and the server). The confirmation output states that the actor’s current rotation after the SetActorRotation executed is correct, Y=-178.9. However you can see from the screenshot, the character is still facing up (at Y=~0).

If I trigger the code multiple times, eventually the rotation is updated correctly.


This one is a little weird to look at. Note that I did all 4 of these without moving my cursor at all the entire time. I kept pressing a keyboard hotkey to repeatedly trigger the code.

  1. The character started facing up again (At Y=.38). I press the hotkey. “SetActorRotation” runs and check the rotation after it’s done. The output now shows Y=-179.89 … but the character did not rotate.
  2. I pressed the hotkey again. The rotation did not change. The character did not update to face down.
  3. I pressed the hotkey again. The rotation did not change. The character did not update to face down.
  4. I pressed the hotkey again. The rotation did not change. The character finally updated to face down.

I can’t come up with any logical reason why this is happening and it’s so strange.

In a final attempt to illustrate this and try to prove I’m not crazy, here’s a video of it in action:

I move the mouse below the character and push the hotkey 3 times (identified by the projectile lobbing out). The first press updates the actor’s rotation (so it says) but not the actual actor mesh. The second press does nothing. The third updates the rotation of the mesh.

Any thoughts on this?