How to retarget animation from a UE4 Metahuman to a UE5 Metahuman?


In the process of migrating my project from 4.27 to 5.0.2, I did also want to update my Metahumans to their new version. Since, as we know by now, UE4’s Metahuman are “not compatible” with UE5’s – a difference well highlighted also in the Quixel exporter. Part of what makes them different is their skeletons, although the differences are actually minimal.

Sooo, I built an IK Rig for UE4’s Metahuman; essentially copying UE5’s Metahuman IK Rig as I didn’t see any significant difference between the two:

Then I made a IK Retargeter, using my UE4’s Metahuman IK Rig as source and UE5’s Metahuman IK Rig as destination. A couple of important changes: since I’m using root motion I did select as root bone in both skeleton “root” (rather than “pelvis”) and in the Retargeter setting I’ve set “Globally scaled” as translation mode for that root.

Everything would work beautifully then, but it doesn’t. In particular, I’m banging my head against this issue: it looks like a hip rotation that’s happening on the vertical plane for the source animation gets retargeted on the horizontal plane in the destination animation (source animation on the right, destination on the left):

Any suggestion on how I could fix this?