Skip to content

How to set up MotionAnimInstance

Use this guide when an Animation Blueprint must use Motion movement tags or ground data. You can also configure Gameplay Ability System (GAS) binding state or optional first-person item state.

MotionAnimInstance is modular. A character Animation Blueprint can use it only for movement state. The native Motion first-person item solution is not necessary unless you want to use it.

Set the parent class

  1. Create or open the character Animation Blueprint.
  2. Open Class Settings.
  3. Set Parent Class to MotionAnimInstance.
  4. Compile the Animation Blueprint.

The parent class is the primary setup check. After you set it, the Animation Blueprint can use Motion tag mapping, ground data, and optional item state.

Inspect the supplied Animation Blueprints

Enable plugin content. Then, use the supplied assets as references:

AssetPathUse
ABP_Mannequin_BasePlugins/MotionCore/Content/EpicGames/Characters/Heroes/Mannequin/Animations/ABP_Mannequin_BasePrimary Motion character Animation Blueprint reference.
ABP_UnarmedAnimLayersPlugins/MotionCore/Content/EpicGames/Characters/Heroes/Mannequin/Animations/Locomotion/Unarmed/ABP_UnarmedAnimLayersDefault unarmed linked-layer pose set.
ABP_PistolAnimLayersPlugins/MotionCore/Content/EpicGames/Characters/Heroes/Mannequin/Animations/Locomotion/PIstol/ABP_PistolAnimLayersBuilt-in item/stance linked-layer example.
ABP_ItemAnimLayersBasePlugins/MotionCore/Content/EpicGames/Characters/Heroes/Mannequin/Animations/LinkedLayers/ABP_ItemAnimLayersBaseBase class for linked animation layer variants.
ABP_CustomGraphForPistolPlugins/MotionCore/Content/Motion/Items/Pistol/ABP_CustomGraphForPistolCustom first-person item overlay graph example.

Duplicate or inspect only the assets for your path. A movement-only AnimBP can inherit from MotionAnimInstance without the pistol layer, linked layer assets, or custom item overlay graph.

For a project-owned Animation Blueprint, create a child or duplicate from the supplied animation assets. Do not edit plugin content directly.

Create a child Animation Blueprint from a shipped Motion asset

Map GameplayTags to variables

  1. Open the Animation Blueprint Class Defaults.
  2. Find GameplayTagPropertyMap.
  3. Add entries for the applicable graph tags.

Usual mappings:

GameplayTagPropertyType
Motion.State.WalkingbIsWalkingBoolean
Motion.State.SprintingbIsSprintingBoolean
Motion.State.CrouchingbIsCrouchingBoolean
Motion.State.JumpingbIsJumpingBoolean
Motion.State.HoldingItembIsHoldingItemBoolean
Motion.State.StaminaDepletedbIsStaminaDepletedBoolean

The properties must already exist in the Animation Blueprint and match the expected type.

Motion ABP Gameplay Tags Mapping

Use Motion movement data in the graph

  • Use mapped booleans for state machine transitions.
  • Use GroundDistance for landing preparation or foot IK.

Use optional item presentation data

Use these accessors only when the Animation Blueprint participates in the Motion first-person item system. For most automatic-mode items, add the overlay node. It reads the active config, Ability System Component (ASC) tag snapshot, solve settings, pitch, and presentation action state.

Use direct accessors from diagnostics, event paths, or advanced custom graphs when inspection of item state is necessary. You can inspect the active config, overlay mode, active tags, solve settings, pitch, or presentation action state. For getter names and struct or enum lookup, see MotionAnimInstance and First-person item API reference.

Add the first-person item overlay node

Do this only for the native Motion first-person item system.

  1. Open the AnimGraph of the host Animation Blueprint.
  2. Find the final locomotion/body pose before output or your own final skeletal controls.
  3. Put one Motion First Person Item Upper Body Overlay node in the graph.
  4. Route the host pose into BasePose of the node.
  5. Route the node output to the final pose. Or, route it into item action layers that run after the basic Motion held pose.
  6. Compile the Animation Blueprint.

Upper Body Setup

The automatic held pose resolver reads the bound ASC tag snapshot. The active config reads AutomaticHeldPoseSettings.HeldPoseAnimationRules first. Then, it reads single-tag HeldPoseAnimations. If no entry matches, it uses AutomaticHeldPoseSettings.FallbackHeldPoseAnimation.

No active first-person item config is a pass-through condition for the overlay. Do not add Blueprint variables only to copy crouch or sprint state. The native resolver reads the bound ASC.

Do not add per-item solve tuning variables to the host Animation Blueprint. UMotionNativeFirstPersonItemConfig owns item-specific solve, blend, transition, and presentation action values. MotionAnimInstance exposes only the effective config data and state accessors.

Verify binding

  1. Start PIE.
  2. Read bIsAbilitySystemBound.
  3. If it remains false, make sure that the character or its PlayerState owns an initialized ASC. IAbilitySystemInterface is the preferred lookup path. Motion can also find an ASC component directly.
  4. Enable logs if binding is delayed:
bash
log LogMotionAbilitySystemHelper Verbose
log LogMotionAbilitySystem Verbose
showdebug abilitysystem

Motion - Advanced First Person Character Controller