UE 5.8 - GASP IKChain retargeting seems broken

Hi there,

I am not sure if anyone else has had this issue, but on my end when making a new GASP project with 5.8, or importing a 5.7 GASP project to 5.8 the IK Chains don’t seem to work with visual overrides.

When switching VisualOverride to any character the ABP_GenericRetarget doesn’t seem to get the IK Chains resulting in mismatched hand placement when climbing.

It seems to be the “Get Op Controller from Retarget Profile” in the UpdateRetargetProfile function that returns a null resulting in this behaviour, as the IKRetargeter does get found in the EventGraph.

Does anyone know a solution for this, and/or has this been reported yet as a bug?

same problem,waiting for fix

This also broke for me immediately after installing 5.8.

I have the same problem

In UE 5.8 IKRetargetIKChainsOp got deprecated, now it’s three separate ops. That broke ABP_GenericRetarget for me.

Fix: at the start of GetOpControllerFromRetargetProfile, changed the name from Retarget IK Goals to Blend to Source.
Controller = Blend to Source, retyped fields/structs to the new format (BlendToSourceWeights = TranslationPerAxisAlpha, StaticLocalOffset dropped).

In Pole Vector Alignment Settings I had bEnabled/Alpha hardcoded, so the blueprint was overwriting the op’s settings every frame.
Wired them up instead of hardcoding from GetSettings pole controller , works now.

Hello, I’m having this problem too. Could you explain the solution in more detail?

Hi..
Tried to implement what you said. But unfortunately couldn’t manage to do it. Can you pls upload a screen shot of the blueprint pls?

Hi, this is how I got it working based on Kolirian1’s post. Dropped local variable IKChainsController as I didn’t see it any IK Retargeter Op Stacks.

The mismatched hand placement when climbing will still occur because the animations were baked for the UEFN_Mannequin with different proportions. A way to solve that is with 1 bone IK node in each hand and use the post-process animation graph to move the hands onto the ledge trace hit location during the grab window. This should put you on the right path.

I’m new to Unreal, so if I got something wrong please do tell!

Worked perfectly! Thanks

Follow-up: GASP updated for 5.8

Correction to my earlier post: I’d attributed the hand mismatch to proportion differences between the target SKM and the source (UEFN_Mannequin) skeleton. That wasn’t it. After comparing my fix against the officially updated ABP_GenericRetarget in the latest GASP release, the real cause was a missing piece in the op-stack logic, not skeleton proportions.

My original fix only addressed the op-stack split itself: IKRetargetIKChainsOp got deprecated and broken into separate ops, so I renamed the lookup to "Blend to Source", cast to IKRetargetBlendToSourceController, and retyped the chain struct to the new format. That got the retargeter compiling and running again, but hand placement during climbs was still off — same as before the fix.

Epic’s updated version goes further: it wires up a second op, Offset Goals (IKRetargetOffsetGoalsController), alongside Blend to Source, and drives both from the same animation curve data on each hand chain. There’s a ChainCurveMap that maps RightArm/LeftArm to curves named Retarget_Hand_R_BlendToSource / Retarget_Hand_L_BlendToSource, read every frame via GetCurveValue off the climb animation. That curve value feeds two lerps at once:

  • Blend to Source: lerps the hand IK goal’s blend weight from its baseline up to 1.0 as the curve rises — fully snapping the goal onto the source skeleton’s hand bone during the grab.
  • Offset Goals: lerps the chain’s LocalTranslationOffset (a steady-state proportion-correction offset used during normal locomotion) down to (0,0,0) as the same curve rises.

So the two ops hand off cleanly: as a climb grab curve ramps up, the local offset correction fades out exactly as Blend to Source takes over ownership of the hand position. Adding the matching curve-gated fade on Offset Goals is what actually resolves it.

So get the latest version of GASP and it’s all good!

Everytime I compile after a retarget, I receive these two errors. This time it fired 43,000 times

Upon investigating I found a spelling error in ABP_GenericRetarget > Local Variables. “OffsetGaolsController”. I Corrected it to “OffsetGoalsController” but errors still remain. I attempted renaming the variables as well as verify 5.8 engine via launcher. Can’t identify the apparent issue.

This seemed to do the trick! Hand placement on my climbing dpoesn’t seem off at all.

I honestly do not understand why this works but it does.

Thank you !