This has been my nemesis for years and I keep seeing people run into it silently. They export from Blender, import into Unity or Unreal, something is slightly wrong with a rotation on one specific bone, and they assume it's a rig issue or an FBX exporter bug. Sometimes it is. But often it's euler order.
Quick version for anyone who hasn't hit this wall yet: Blender defaults to XYZ euler order for rotations. Unity works in quaternions internally but its euler representation applies rotations in a different order. Unreal's Rotator (Pitch/Yaw/Roll) maps axes differently again, and all three apps have different coordinate handedness on top of that. A rotation that looks correct in Blender isn't guaranteed to mean the same thing when reconstructed in Unity or Unreal, even if the numbers look identical.
Most of the time the FBX pipeline silently saves you by baking everything to quaternions on export. But the moment you touch anything non-trivial, like constraint-driven bones, driver-based rotation channels, or anything hitting euler values directly, the mismatch resurfaces. I had a shoulder bone that looked perfectly fine in Blender and showed a 90-degree flip in Unity that took two days to trace back to this exact problem.
The fix was switching that bone's rotation mode in Blender to match the export target's convention. That caused gimbal lock in a completely different pose. So I baked to quaternions instead. Then the FBX exporter didn't handle quaternion animation curves cleanly and... you see where this goes.
I've landed on baking everything to euler with a manual axis correction script before FBX export as my working approach. Feels like it shouldn't be the answer in 2026 but here we are.
Curious what workflows others are using. Is this a Blender-specific pain point or have people hit this coming from Maya or Max too? And does anyone have a clean solution for driver-driven bones specifically, without a manual rebake every single time?