Sorry to wake up this old subject, but it came up in a Google search and I don’t want others to be confused.
No, Unreal does not mix rotations. The math is actually the same (the numbers are the exact same) in left-handed and right-handed systems.
- The X vector, rotated positive around Z, yields the Y vector. This is the same in left-handed and right-handed coordinate systems. In a left-handed coordinate system, this yields the left-hand rotation rule.
The two other cardinal rotations of this basic rule also hold:
- The Y vector, rotated positive around X, yields the Z vector. In a left-handed coordinate system, this yields the left-handed rotation rule.
- The Z vector, rotated positive around Y, yields the X vector. In a left-handed coordinate system, this yields the left-handed rotation rule.
The only case you will be confused is if you somehow use the wrong hand or wrong rule when interpreting the coordinate systems.
You can’t look at the implementation of a mathematical operation, and tell whether the coordinate system the user chooses to use is left-handed or right-handed.
The difference between left-handed and right-handed coordinate systems is ONLY when translating to/from a physical (real-world) context.
The math rules are absolutely the same, same numbers, same order, same everything, in a left-handed and right-handed system. The “mirroring” only happens when you choose to interpret the output numbers one way versus the other.