Hi Epic,
Noticed that UIKRetargeter had a refactor with lot of deprecations regarding how retarget chain settings are accessed.
For e.g UIKRetargeter::GetChainSettingsFromRetargetAsset [Image Removed]
Is there any documentation or example usage for how to use op profiles to retrieve chain settings instead?
Thank you.
Kind Regards,
Abhishek Sagi
Hi, yeah the API for IK Rig and Retargeter has changed significantly in 5.6 with the addition of the retarget op stack. The chain map settings are now unique to each op within the retarget op stack. This gives more flexibility over the behaviour of the retargeter, but it means there are more data structures that you need to work with. This does make your blueprint more complicated, but you should be able to do what you want with something like this:
[Image Removed]Here, I’m first getting the IK Retarget Controller since that allows you to both get and set the settings object. Then you have to get the controller for the specific op in the stack that you’re interested in (and cast to the correct type - ie. an FK Chain Op, Run IK Rig Op, etc). Once you have the op controller, you can get the Op Settings. And then the Chain Settings now live within the Op Settings.
I’m waiting to hear back from the dev team about whether there is a more elegant API to do this, but for now, I think this should give you what you need. Let me know if not.
Hi Euan,
Thanks for responding. Can you also share how you deduced “GetIKRetargetController” as it is not showing up in blueprint graph for me. I notice that its a static UFUNCTION inside IKRigEditor module.
Did you had to do anything for it to show up in BP Graph?
I do have IKRig plugin enabled
What kind of blueprint are you working with - is it an actor or some other uobject? That function lives in an editor-only module (the implementation is UIKRetargeterController::GetController), so it’s possible that if you’re working with a runtime-only blueprint it doesn’t have access to the editor functions.
What do you want to do with the blueprint, do you want to change some of the chain settings or just read them? I can look at alternatives if you can give me some more information
Ok there is a different way to do this from an Actor so that you can access the data at runtime. You can use URetargetProfileLibrary to get a copy of the profile, and cache it as a variable. Then you can get the controller from it in the same way as I showed previously.
So the new blueprint could look a bit like this:
[Image Removed]Let me know if that works for you
Hi Euan,
Thank you for prompt responses and recommendations. In my use case I was attempting to cache retarget chain settings ( ik&fk) within ABP. Taking a copy looks like the way to go. I’ll give this a try and confirm.
Kind Regards,
Abhishek Sagi