Took me some time of tweaking but I think I got to a point I’m happy with. It’s not possible to get it perfect in all situations so it took a lot of experimentation with values that got it to a good enough state. Beyond this, it would require manual tweaking.
vs the defaults (Could be good for a zombie that’s stumbling around, notice the awkward forward lean)
Something to keep in mind is this concept: Contrapposto - Wikipedia
If a character is posed in a janky way they’ll look off because their weight isn’t shifted right.
The shape of the character is more important than the skeletal alignment. I created a pose by lining up the two characters on top of each other and using the control rig to make a new pose for the UE5 manny that captured the essence of the body shape of the UE4 manny.
Another issue is the original mannequin is bigger than UE5 manny, so some extra adjustments were necessary to account for this minor change in scale.
For aligning arms and fingers I temporarily moved the root up by 3 units because the original UE4 mannequin is taller by about 3 units. It’s more important that the joints match the original angles than matching the original positions. Fixing the arms ensures the arms are roughly line up with the retargeted pose so they aren’t tensed up or stretched out in a way the original animation didn’t intend.
I also took time to realign the fingers and I found the retargeted pose fingers more closely matched the fingers of the original. As you can see it doesn’t need to line up perfectly, but the rough angle of each finger should match the original.

Once I was done aligning arms and fingers I put the root back to the default.
Each spine control was rotated back by some amount. I chose -2 for each spine bone which gave the best results IMO. The original mannequin leans back more with a straigher back posture, like a soldier. Without these adjustments, the retargeted UE5 manny will always lean forward awkardly.
I then counter rotated the neck and head back by the amount the spine was rotated. I had 3 spine bones rotated back by -2, totalling in -6. So my neck was moved forward by 3 and head by 3, so the head was aligned straight again. This way the pose matches the original in the way the back was straight.
I also moved the feet back 8 units but kept them aligned with the shoulders so they’re spread more or less the same. The feet should line up with the shoulders in both poses to capture how the feet are spread. If you line the feet up perfectly with the original UE4 mannequin, they’ll actually be more spread out and look more awkward because the UE4 mannequin is bigger and wider.
Once this is all done, you export the new pose of the UE5 mannequin as a pose asset.
I then imported that pose asset into my IK retargeter for the destination, and left the source as default.


I had to also adjust the arm IK settings in the rig to move them down and in more. Without this, the arms were somewhat tense looking instead of relaxed looking like in the original idle pose. As I mentioned before, the UE4 mannequin is taller and wider by a bit so matching the arms perfectly results in them being oddly tense in the retargeted pose. Unfortunately there’s some bug that prevents arm settings from saving so you have to reenter this every time you restart the engine.
In the end, the retargeted poses matched the essence and shape of the original pose much better so the character was no longer posed awkwardly.
I also tried a version of the rig where I pushed the legs back and inward using static offset and local offset settings, but due to how the IK rig works, pushing legs back resulted in them standing on tippytoes. I tried making an alternate rig that used foot_r instead of ball_r as the IK goal specifically for legs and it was kindof OK, but not OK enough to be worth the effort of retargetting some animations with one rig, and some with another. The foot_r version doesn’t work well because the feet wouldn’t plant hard on the ground anymore and might hover.
(Also now that I think about it, I could’ve temporarily upped the root scale by some value, lined everything up, and restored root scale to default, instead of moving the root up by some value and putting it back down. It may have helped line things up even better while accounting for scale differences.)