How to Add Locomotion Data
This guide explains how to create and configure a locomotion DataAsset so a character uses the correct movement/overlay animations, dodges, dashes, telekinesis moves, and optional first‑person idles when a weapon or item is equipped.
1. What Locomotion Data Is
Locomotion data is a DataAsset (child of BP_LocomotionDataMaster) that defines:
AnimLayer – overlay AnimBP that plugs into the main character AnimBP when an item is equipped (process of creating it is described below).
Abrupt Movement – montages used for dodge, dash, jump dash, double jump.
Actions – link to a row in
DA_ActionsMaster(DataTable) with the structure:- Take – AnimMontage of taking weapon into hands.
- InitHidden (
bool) –trueif the weapon actor is hidden in hands during the take animation and becomes visible on a specific AnimNotify. - InitComponentsHidden (
bool) –trueif components of the weapon are hidden for the same reason (not the whole actor). - Shot Scope Aimed (FP) – shot AnimMontage from aiming state in first‑person (when the player looks through an optic and enters FP mode).
- Shot – generic shot AnimMontage.
- AimShot – shot AnimMontage from aim state (third person).
- Reload – reload AnimMontage.
- Throw Grenade – grenade throw AnimMontage.
Optional FP Idle / FP Crouch Idle – animations for standing/crouching in first‑person.
Optional wall check behavior for weapons (lowering weapon near walls).
Optional Telekinesis – AnimMontages used in telekinesis‑type skills.
2. Step 1 – Create a Locomotion DataAsset
- In the Content Browser, create a new DataAsset.
- Set Parent Class to
BP_LocomotionDataMaster. - Name it according to its usage, for example:
BP_DA_Locomotion_Rifle1BP_DA_Locomotion_Pistol1BP_DA_Locomotion_Melee_Sword
Open the DataAsset and fill:
- Locomotion AnimLayer (will be created in the next step).
- Abrupt Movement (dodge/dash/jump dash/double jump).
- Actions (row in
DA_ActionsMaster). - FP Idle / FP Crouch Idle if needed.
- Wall check and, optionally, telekinesis montages.
3. Step 2 – Create a New Anim Layer
Locomotion data always points to an overlay AnimBP (Anim Layer) that blends on top of the base movement system (modified GASP).
3.1. Base choice: melee vs firearms
For melee weapons:
- Create the AnimBP from class
ABP_Overlay_Melee.
- Create the AnimBP from class
For firearms:
- Take an existing overlay AnimBP used for firearms (for example
ABP_Overlay_Rifle) or another weapon‑specific overlay. - Make a copy of this AnimBP instead of inheriting from some common parent.
- Take an existing overlay AnimBP used for firearms (for example
Reason: we want every overlay AnimBP to be freely editable per weapon; therefore, for firearms we prefer copy and customize, not direct inheritance from a shared parent.
3.2. Adjust AimOffset and OverlayPoses
Open the copied/created AnimBP and adjust:
- AimOffset category:
- Set/replace the poses and curves that define how the weapon aims up/down/left/right.
- OverlayPoses category:
- Set poses for different overlay states (idle, walk, run, aim, etc.).
All AnimSequences used for weapon overlays are essentially poses, usually single‑frame animations.
Each pose contains several curves that tell the main character AnimBP:
- which bones must be driven by the weapon overlay,
- which bones must remain as in the base movement animation.
The idea: we use a modified GASP character AnimBP, and the weapon overlay AnimBP is layered on top of base locomotion via curves, making the system very simple and universal.
3.3. Configure Animation Layers inside the overlay AnimBP
In the AnimBP you must implement / configure the required Animation Layers (functions) so they can be called from the main character AnimBP. Make sure the following layers are present and correctly wired:
HandsIK_LeftWeaponAttach
Layer that adjusts the left hand IK to attach correctly to the weapon.UpperBody_WallDetected
Upper‑body blend pose used when the system detects a wall (weapon lowering).UpperBody_Axis
Upper‑body overlay for directional aiming/rotation.FullBody_BasePose
Base full‑body pose for this equipment state.FullBody_OverlayPose
Full‑body overlay for situations where weapon animation fully controls the pose.
After configuring these layers and verifying that they compile, set this AnimBP class into the Locomotion AnimLayer field of your BP_DA_Locomotion_* DataAsset.
4. Step 3 – Fill Remaining Locomotion Fields
Back in your BP_DA_Locomotion_* asset:
Locomotion AnimLayer
Set to the overlay AnimBP you prepared.Abrupt Movement
Fill montages for:- Dodge
- Dash
- Jump Dash
- Double Jump
Actions (DA_ActionsMaster row)
Select the correct row and verify that all its fields (Take,InitHidden,InitComponentsHidden,Shot Scope Aimed (FP),Shot,AimShot,Reload,Throw Grenade) are filled for this locomotion profile.FP Idle / FP Crouch Idle (if first‑person supported)
- Set idle/crouch idle FP animations.
Wall check (if needed)
- Enable and tune in the same place where you control wall behavior for this weapon / locomotion profile.
Telekinesis (if used)
- Set telekinesis AnimMontages used by relevant skills while this locomotion profile is active.
5. Step 4 – Link Locomotion Data to Clarification Assets
To actually use your locomotion DataAsset, you must link it in the relevant Clarification asset (weapon, melee weapon, or other item that drives locomotion).
5.1. Weapons (Firearms and Melee)
- Open the weapon’s Clarification DataAsset.
- Find the Animations (or Category: Animations) section.
- Locate the Animations / Locomotion Data field (or similarly named field that expects a
BP_LocomotionDataMasterchild). - Set it to your new locomotion data asset (for example
BP_DA_Locomotion_Rifle1).
Result:
- When this weapon is equipped:
- The main character AnimBP plugs in your overlay AnimLayer.
- All abrupt movement, Actions, FP animations, wall check and telekinesis behavior from that locomotion DataAsset become active.
If you have other items that affect locomotion (e.g. special skills/devices), link the same locomotion DataAsset in their Clarification assets the same way.
6. Step 5 – Retargeting Per Character Skin (Optional)
Locomotion data can be combined with RetargetModifier per skin to adjust how the weapon is held or how the overlay behaves for different character skins.
In the weapon Clarification asset, under Engine / RetargetModifier:
- Key – character skin DataAsset name.
- Value – struct with:
- bone rotation offsets;
useCustomAnimLayer(bool);CustomAnimLayer– alternative AnimLayer class.
Behavior:
If
useCustomAnimLayer = false:- Only bone offsets are applied.
- The AnimLayer from the locomotion DataAsset is still used.
If
useCustomAnimLayer = true:- The specified
CustomAnimLayeris linked into the main character AnimBP instead of the default locomotion AnimLayer for this skin. - This is useful for skins with significantly different bone positions compared to the default (for example, Metahuman‑based skins).
- Typical setup:
- Create a dedicated overlay AnimBP/AnimLayer for Metahumans.
- Set
useCustomAnimLayer = truefor Metahuman skins inRetargetModifier. - Set
CustomAnimLayerto that Metahuman‑specific AnimLayer.
- The specified
This way, the same weapon and locomotion DataAsset can behave correctly across different skeletons/skins via RetargetModifier without duplicating weapon data.