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) – true if the weapon actor is hidden in hands during the take animation and becomes visible on a specific AnimNotify.
    • InitComponentsHidden (bool) – true if 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

  1. In the Content Browser, create a new DataAsset.
  2. Set Parent Class to BP_LocomotionDataMaster.
  3. Name it according to its usage, for example:
    • BP_DA_Locomotion_Rifle1
    • BP_DA_Locomotion_Pistol1
    • BP_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.
  • 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.

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)

  1. Open the weapon’s Clarification DataAsset.
  2. Find the Animations (or Category: Animations) section.
  3. Locate the Animations / Locomotion Data field (or similarly named field that expects a BP_LocomotionDataMaster child).
  4. 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 CustomAnimLayer is 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 = true for Metahuman skins in RetargetModifier.
      • Set CustomAnimLayer to that Metahuman‑specific AnimLayer.

This way, the same weapon and locomotion DataAsset can behave correctly across different skeletons/skins via RetargetModifier without duplicating weapon data.