Rotation curves in FBX wrapping between 0 and 360?

I’ve got some objects in an FBX file whose X rotation curves are baked between -10 to -150.

When I import the FBX into Unity. The animation viewer shows that the curve has been moved to fit in the 0 to 360 range. This works okay in some situations. However, at two points in my case the curve drops below zero in one frame and then shoots right up to 360 in the next frame (the point of wrap around). When this wrapping happens, in Playback mode, whenever the animation plays, I can see a full twist happening on the object (at the point of wrapping), which is undesirable.

Is there any particular reason that Unity has to wrap/clamp animation on import between 0 and 360? Also, is there any workaround to this issue?

Thanks for any help.

I am shocked that Unity breaks animation curves like this. This is essential to animation importing correctly. It seems like a programmer said it was fine without having a TD/animator test it.

In my test, I exported maya animation to FBX and imported back to maya and it was correct. In Unity, all rotation keyframes seem to be clamped from 0 to 359.9, rotating from 359 to 361 is 2 degrees, not 358 degrees.

Since you cant count on a realtime engine evaluating a curve exactly on a keyframe, it is unacceptable to have the engine change my animation curves on input. and then make them “read-only”.

I suspect its possible to write a script to fix it.