IKRig results in twisted fingers

BACKGROUND: I have a hand tracking solution, and I am trying to use an animation blueprint to move the fingers or a hand. In my IK Rig I have assigned a Limb IK solver with the finger knuckle (a.k.a. “Index MCP” or “index_01” in the Manny skeleton) as the start joint and the final joint (a.k.a “Index DIP” or “index_03”) position and orientation as the goal.

In order to minimize thrashing, I begin each solve with a snapshot from the previous frame, rather than starting from the initial pose.

In the solver I have specified the “Hinge Rotation Axis” as Z, which appears to match the Manny_Simple rigging. I have also set Enable Twist Correction to true (although I don’t think it does anything).

I have not added a Pole IK solver for the intermediate finger joint.

PROBLEM: The fingers accumulate twist. For example, if I perform The Queen’s Wave the finger joints accumulate. If the solver begins from the initial pose the twisting can still occur, but does not accumulate. To keep things really simple, in each frame, the finger world rotation is identical to the palm world rotation.

Additionally, when I manipulate the IK Rig directly it does not get twisted, but claims to be using ABP_Manny_PostProcess… which is weird because I’m using the IK Rig in an animation blueprint, and in the preview it’s the other way around.

Here’s the result when I begin each solve from the previous pose.

NOTE: This is my first time working with Unreal’s rigging system, so maybe I have set things up incorrectly?

On my skeletal mesh, my Anim Class is set to my animation blueprint, which in turn uses my IK Rig in its AnimGraph.

Zooming out a bit, an IK Rig for a full body and all fingers is an intimidatingly large node in a blueprint. Is there some expectation that the skeleton is broken out into separately animated components? Should I be handling this in C++, or in a Control Rig blueprint, or somewhere else?

Also, it seems a bit weird that I need to commit to ONE approach to solving for body poses, when a mix of forward and inverse kinematic solving seems like a more natural approach.

TLDR; maybe the problem is that I’m just doing it wrong?

Hi @Gabriel_UMe I run into a similar issue with misaligned hands on modified UE5 skeleton animation re-targeting. Even though the characters are setup properly following this tutorial https://www.youtube.com/watch?v=f6tm7NXEs0I

The fix for me with the hands was simply to copy animations and then selecting all animations, and then replacing the skeleton. Perhaps you can fix your hand issue with this pragmatic approach?
Screenshot 2026-01-30 112449

You probably are just doing it wrong. The bone roll of the metacarpal and the roll of all subsequent fingers has to be identical to whatver you retarget to.

Essentially, Pick apart the unreal skeleton, cut off its hand bones, and transfer them to your mesh without changing their rotations - then stuff will work.

What you are seeing is called Candy wrapper. It happens because your medial phalangies have a non-identical rotation to the bone before it. The engine is probably like - oh, this must mean almost 360 that way… instead of 0.