Why are the operations not equivalent (rotation)?

Ah, they don’t work like that.

Basically, UE decides for itself that -180 might really be +180, that’s the problem.

If you’re setting rotation, this will always be a problem. There are two ways around it

  1. Use quaternions

  2. Only ever add local rotation