How to set up Avatar Stances.

Stances are a special kind of Interaction.

  • You define a “Stance Group” that contains multiple “Stances”.
  • Your avatar can only be in 1 stance at a time (per-group).
  • When a stance is entered, the previous stances will be exited.
  • Stances support looping animations, and transition animations.


Just like Interactions, Stances automatically get buttons in the kemorig HUD, and can have hotkeys assigned to them. They are grouped by Stance Group.

Initial Setup

Create a DataTable for Stance Groups

Stance Groups are defined in a DataTable with row struct KemorigStanceGroupTableData.

We can create a new one, but let’s copy a blank example DataTable included with the project.

In the content browser, navigate to the folder KemorigExampleContent Content/Data/Interactions/ and find Blank_StanceGroups. Copy/Paste a copy of this into our avatar folder (I like to use MyCharacter/Interactions/) and rename it.

Reference DataTable in Avatar Blueprint

Open your avatar blueprint and navigate to the Class Defaults.

In the Interactions category, reference your DataTable in the field Avatar Stance Groups.

This is all we need to do to enable Stance Groups. Now, any rows we add in the DataTable will create a new Stance Group we can use in kemorig.

Adding a New Stance Group / Stance

Open your stance groups DataTable.

Click the Add button at the top to add a row.

This row defines the Stance Group:

  • The Row Name is the name you’ll use to refer to the Stance Group in Blueprints.
  • The properties visible when you select the row define the Strance Group’s behavior.
  • Notably, the “Stance Datas” property is an array where you add Stances to this group.

Built-In Features

Stance Groups have one built-in feature, which is to play idle and transition animations.

Idle and Transition Animations

In your DataTable, for each Stance in a group, you can define looping and enter animations.

Enter animations are optional. They are per-Stance, meaning you can have unique transitions between every combination of stances.

If you're familiar with Animation State Machines, this is basically a simplified version of that. It's intended to make it easy to get most avatars up and running. You can also manually handle your stance animations within your animation blueprint with a state machine.

Custom Behavior

Just like Interactions, Stance Groups allow you to run arbitrary blueprint logic using events. In any blueprint (often your avatar blueprint), you can bind handlers to Stance Groups by-name.

To explore what you can do:

  • Open your avatar blueprint and go to the Event Graph.
  • Add a Get Kemorig Interaction Subsystem node to your blueprint.
  • Drag the pin out of it and search for “Kemorig Stances” functions.