# Using Retarget Profiles

Override and animate IK Retargeter settings at runtime on your retargeted characters.

In addition to IK Retargeting your characters during runtime, you can modify Global, Root, and Chain settings dynamically using Retarget Profiles. Retarget Profiles are an additional feature of the Retarget Pose From Mesh Animation Blueprint Node which you can use to change or animate these settings. This can be useful in cases where you need to change or apply different retarget settings at different points throughout an animation.

This document provides instructions on how to set up Retarget Profiles and various ways to modify them.

#### Prerequisites

- You have set up characters to dynamically retarget at runtime using Retarget Pose From Mesh. Refer to the Runtime IK Retargeting page for instructions on how to do this.
- You are familiar with using Animation Blueprints.
- You are familiar with creating and using Sequencer.

## Accessing Retarget Profiles

You can access Retarget Profiles from the Retarget Pose From Mesh node in the target character's Animation Blueprint you created in the Runtime IK Retargeting prerequisite step. Select Retarget Pose From Mesh and locate the Custom Retarget Profile properties in the Details panel.

## Static Override

By default, the settings you set up in the assigned IK Retargeter Asset are used by the Retarget Pose From Mesh node. You can statically override those settings by modifying the Custom Retarget Profile properties on the node:

Name | Description
--- | ---
Apply Target Retarget Pose | Enabling this overrides the Retarget Pose used for the target character.
Target Retarget Pose Name | If Apply Target Retarget Pose is enabled, this setting specifies the new Retarget Pose name to use instead.
Apply Source Retarget Pose | Enabling this overrides the Retarget Pose used for the source character.
Source Retarget Pose Name | If Apply Source Retarget Pose is enabled, this setting specifies the new Retarget Pose name to use instead.
Apply Chain Settings | Enabling this overrides the Chain Settings used in the IK Retargeter Asset with new ones specified below in Chain Settings.
Chain Settings | An array to add chains to override with new Chain Settings. Click Add (+) to add a new chain and set the name to match one of the retarget chains in the IK Retargeter Asset. Expand FK, IK or Speed Planting categories to modify the settings within.
Apply Root Settings | Enabling this overrides the Root Settings used in the IK Retargeter Asset with new ones specified below in Root Settings.
Root Settings | If Apply Root Settings is enabled, these settings override the Root Settings used in the IK Retargeter Asset.
Apply Global Settings | Enabling this overrides the Global Settings used in the IK Retargeter Asset with new ones specified below in Global Settings.
Global Settings | If Apply Global Settings is enabled, these settings override the Global Settings used in the IK Retargeter Asset.

## Dynamic Override

If you need to control when retarget settings change, then you must create additional blueprint logic. Due to the arbitrary nature of Blueprints and Animation situations, there are many ways you can create logic to edit a variety of retarget situations.

In this example, Retarget Profiles will be used to adjust the larger character's arm to correctly reach for the ground, matching the Mannequin.

### IK Rig Setup

Because of this specific retarget situation, you need to modify the target character's IK Rig to use IK Goals and Solvers. This example uses a Full Body IK (FBIK) solver, however depending on your character, you could choose other kinds of IK Rig Solvers. This step is required to provide IK arm Chain Settings for the Retarget Profile to modify.

Open the target character's IK Rig Asset used for retargeting and do the following:

1. Right-click one of the hand bones in the Hierarchy panel and select New IK Goal.
2. In the next prompt, ensure Full Body IK is set as the solver and click Add Solver.
3. Select the Full Body IK solver in the Solver Stack panel, then right-click the other hand bone and select New IK Goal.
4. Lastly, select the Full Body IK solver, right-click the root bone (typically the pelvis or hips) in the hierarchy and select Set Root Bone on Selected Solver.

#### FBIK Settings

Select Full Body IK in the Solver Stack and set Root Behavior to Pin to Input in the Details panel. This is required to prevent the lower body from moving when the IK goals move.

You may also need to create additional bone settings for bones that are controlled by the FBIK solver. This resolves stiffness or incorrect joint rotation that can result from the FBIK solve. To create a bone setting, select the Full Body IK Solver, then right-click a bone you want to create settings for and select Add Settings to Selected Bone.

In this example, to resolve rotational stiffness for the spine, shoulder, and arm bones, bone settings were created for these bones (including any symmetrical bones) with the following properties:

- Spine_01

  - Rotation and Position Stiffness: 0.75

- Spine_02

  - Rotation and Position Stiffness: 0.75

- Spine_03

  - Rotation and Position Stiffness: 0.75

- Clavicle_l

  - Rotation and Position Stiffness: 0.8

- Lowerarm_l

  - Use Preferred Angles: Enabled

  - Preferred Angles: 0, 0, 45

### Retarget Profile Variable Setup

Returning to the target Animation Blueprint, select the Retarget Pose From Mesh node. In the Details panel click the Custom Retarget Profile dropdown menu and enable Expose As Pin, which adds a Custom Retarget Profile pin on the node.

Right-click the newly created pin and select Promote to Variable. This creates a new Struct Variable of type `Retarget Profile` and connects to the pin. The variable is also visible in the My Blueprint panel.

### Create Event Graph Logic

Open the Animation Blueprint Event Graph and reference the Retarget Profile variable here, then do the following:

1. Drag off it and create a Get Chain Settings from Retarget Profile node.
2. Set Target Chain Name to the retarget chain that you want to animate. In this example it is `LeftArm`.
3. Right-click Return Value and select Split Struct Pin.

Next, drag off Return Value IK and create a Set members in TargetChainIKSettings node. Select it, and enable Static Offset in the Details panel, which exposes the Static Offset chain property as a pin on the node.

Drag off Struct Out and create a Set Chain IKSettings in Retarget Profile node, then do the following:

1. Set Target Chain Name to the same chain name used earlier: `LeftArm`,
2. Connect the Retarget Profile variable to the Retarget Profile input.

Connect Event Blueprint Update Animation to this execution chain, and expose Static Offset as a variable by right-clicking the pin and selecting Promote to Variable.

Finally, in the Details panel for the Static Offset variable, enable Expose to Cinematics and Instance Editable, which makes the variable editable externally.

### Animate Retarget Setting

Because you created logic in the Target's Animation Blueprint Event Graph and linked it to Event Blueprint Update Animation, you can animate the exposed variable in Sequencer the same way you would animate Anim Instances.

Assuming you have already created and opened a Level Sequence, add the retargeted character blueprint to it and the source Skeletal Mesh Component, then play an animation on the source component to observe the retargeting effects on the target.

Next, add the Chain Setting variable you exposed earlier by doing the following:

1. Add the target Skeletal Mesh Component by clicking Add Track (+) on the Blueprint Track and select the Target component.
2. Click Add Track (+) on the target Component Track and select Anim Instance.
3. Select Add Track (+) on the Anim Instance Track and select the variable.

You can now keyframe this track to adjust the chain property in real-time.

Animating Retarget Profiles in conjunction with Runtime Retargeting provides you with a way to make fine-tuning adjustments to your runtime retargeting results without creating new animations or additional assets.

Original Animation | Animating Retarget Profiles on Large Character | Animating Retarget Profiles on Small Character

- animation
- sequencer

Ask questions and help your peers Developer Forums

Write your own tutorials or read those from others Learning Library

On this page

- Prerequisites
- Accessing Retarget Profiles
- Static Override
- Dynamic Override
- IK Rig Setup
- FBIK Settings
- Retarget Profile Variable Setup
- Create Event Graph Logic
- Animate Retarget Setting

## Privacy Preference Center

### Your Privacy

When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. More information

- ### Strictly Necessary Cookies

  Always Active
  Strictly Necessary Cookies

  These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.

  Cookies Details‎

- ### Performance Cookies

  Performance Cookies

  These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.

  Cookies Details‎

- ### Functional Cookies

  Functional Cookies

  These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.

  Cookies Details‎

Consent Leg.Interest
Select All Vendors
Select All Vendors
Select All Hosts

Select All

- REPLACE-WITH-DYANMIC-HOST-ID

  ### 33Across

  View Third Party Cookies
  - Name
    cookie name

- REPLACE-WITH-DYANMIC-VENDOR-ID

  ### 33Across

  3 Purposes

  View Privacy Notice

  ### 33Across

  3 Purposes

  View Privacy Notice
  REPLACE-WITH-DYANMIC-VENDOR-ID

  Consent Purposes

  Location Based Ads

  Consent Allowed

  Legitimate Interest Purposes

  Personalize

  Require Opt-Out

  Special Purposes

  Location Based Ads

  Features

  Location Based Ads

  Special Features

  Location Based Ads

Clear Filters

Information storage and access

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and personalize content.Privacy Policy