AAMS Integration

Table of Contents

Integration Steps (Unreal Knowledge: Intermediate) #

Step 1: Preparation #

  1. Backup Your Project:
    • Before starting, ensure you have a backup of your project to prevent any potential loss of data.
  2. Download AAMS:
    • Make sure you have downloaded the latest version of AAMS from the Unreal Marketplace.

Step 2: Setting Up Project Settings #

  1. New Trace Channels:
    • Navigate to Project Settings > Engine > Collision.
    • Create the following Trace Channels:
      • VineWall – Default Response: Ignore
      • Movement – Default Response: Ignore
      • Ledge – Default Response: Ignore
  2. Physics Materials:
    • In the Project Settings>Physics, create the following Physical Surfaces in the following order to ensure proper surface interactions:
      • Grass
      • Dirt
      • Gravel
      • Stone
      • Snow
      • Wood
      • Water
      • Metal
      • Mud

Step 3: Enabling Required Plugins #

  1. Navigate to Plugins Manager:
    • Open Edit > Plugins.
  2. Enable the Following Plugins:
    • Animation Warping
    • Motion Warping (crucial for AAMS to work correctly)
  3. Restart the Engine if prompted to apply changes.

Step 4: Migrate AAMS Assets #

  • Open the AAMS project and migrate the AAMovementSystemFolder to your project.
  • Close the AAMS project when migration is completed.

Step 5: Verify Collision Channels #

In your project:

  • Open the Data Table Folder and locate the data table called DT_CollisionChannels.
  • Verify that all collision channels are correct for:

VineWall

  • Trace Type: VineWall
  • Channel: VineWall
  • Tag to Check For: None

Interaction

  • Trace Type: Movement
  • Channel: Movement
  • Tag to Check For: Interaction

Movement

  • Trace Type: Movement
  • Channel: Movement
  • Tag to Check For: None

Ledge

  • Trace Type: Ledge
  • Channel: Ledge
  • Tag to Check For: None

WallRun

  • Trace Type: Movement
  • Channel: Movement
  • Tag to Check For: WallRun

Water

  • Trace Type: Movement
  • Channel: Movement
  • Tag to Check For: Water

Beam

  • Trace Type: Visibility
  • Channel: WorldStatic
  • Tag to Check For: Beam

Rope

  • Trace Type: Movement
  • Channel: PhysicsBody
  • Tag to Check For: Rope

Slope

  • Trace Type: Movement
  • Channel: WorldStatic
  • Tag to Check For: Slope

Step 6: Open Character Blueprints #

  • Open your Character Blueprint and the BP_ExampleCharacter from the AAMS project.

Step 7: Add Player Interface #

  • In your character, add the BPI_AAMS_PlayerInterface interface and compile.

Step 8: Copy Nodes #

  • In BP_ExampleCharacter, copy all nodes in the red commented area and paste them into your character blueprint.
  • Check the name of the new Timeline after pasting it, find its reference in the My Blueprint panel, and right-click on the Actor Component variable to create the corresponding variable.

Step 9 (Optional): Setup Enhanced Inputs #

  • If you already have enhanced inputs, skip this step.
  • In the BeginPlay event of your character, copy the Add Input Mapping nodes from BP_ExampleCharacter’s BeginPlay and add them to your character’s BeginPlay event.

Step 10: Add AAMS Actor Components #

  • Add the necessary AAMS actor components to your character blueprint:
    • AC_State_AAMS (required)
    • AC_Interact_AAMS (if you’re using AAMS’s interaction system)
    • Motion Warping (mandatory for AAMS)
  • If you’re using your own interaction system, ensure you add the InitiateInteract event to your interaction system’s hit results.

Step 11: Add Movement Nodes #

  • If you already have movement input nodes, you need to:
    • Add the Determine Movement functions to your movement inputs.
    • Add the Completed Move node (with a reference to self) to the Completed or Released action.

Step 12: Add Jump Event #

  • Add the Jump event from the State Component.

Step 13: Add Camera Inputs #

  • Add camera inputs for your AI_Look input.
  • Alternatively, copy and paste the entire Replace Camera Input section if you followed Step 9.

Step 14: Add Interaction Input Event #

  • Add the Interaction Input event (if using your own interaction system, skip this step).

Step 15: Add Desired Inputs #

  • Add desired inputs by pulling off the corresponding actor components (e.g., the Grappling Hook input from the Adventure Component).
  • Use the BP_ExampleCharacter for reference.

Step 16: Retarget Animations #

  • Retarget the following animation assets:
    • Montages, Offsets, Blendspaces, and entire Animation Blueprints.
  • Retargeting these will also retarget the animation sequences they contain.

Step 17: Use AAMS’s Animation BP as Base #

  • If you are planning on using AAMS’s Animation BP as the base for your character, or if you don’t already have a custom animation blueprint for your character, you can skip Steps 18 through 25.
  • After retargeting all the AAMS animation blueprints, set ABP_AAMS_Locomotion as your character’s animation blueprint by opening your character actor blueprint, selecting your character’s mesh, and selecting ABP_AAMS_Locomotion from the Anim Class dropdown in the details panel.

Step 18: Add Animation Interfaces #

  • Open your animation blueprint and the ABP_AAMS_Locomotion.
  • In your ABP, add the interfaces BPI_AAMS_AnimBP and AAMS_Animation_Layers.
  • Compile and save.

Step 19: Copy Interface Events #

  • In the Event Graph of ABP_Locomotion, copy the AAMS Interface Events graph and paste it into your ABP Event Graph.
  • Compile, then right-click on the new variables and select Create Variable.
  • Compile and save.

Step 20: Set References to Owning Character #

  • In the Event Graph, copy and paste the Set references to owning character section into your ABP Event Graph (if references are not already present).

Step 21: Copy Functions #

  • Copy the following functions from ABP_Locomotion into your ABP:
    • Calculate Distance (used to set direction and stop backup jitter)
    • GetMovementSpeed (used to get ground speed)
    • ShouldMove?
    • IsFalling?
    • GetVineWallDirection
    • GetAimOffset
    • TurnInPlace
  • Create any new variables that are not already present, then compile and save.

Step 22: Add Blueprint Thread Safe Update Animation #

  • If not already set up in your project, go to the Functions section and select OverrideBlueprintThreadSafeUpdateAnimation.
  • This is used to optimize your ABP. Copy the contents of ABP_Locomotion’s thread-safe update function into your newly created function.

Step 23: Copy Animation Layers #

  • Copy all nodes from the Animation Layers in ABP_Locomotion and paste them into the corresponding layers in your ABP:
    • Look At Aim Offset
    • Turn In Place Layer
    • Feet IK Layer
    • AAMS IKUpdate

Step 24: Retarget Animation Blueprints #

  • Ensure you have retargeted the following animation blueprints:
    • ABP_AAMS_ActionLayer
    • ABP_AAMS_AdventureLayer
    • ABP_AAMS_ClimbLayer
    • ABP_AAMS_SwimLayer
  • In the Anim Graph of ABP_Locomotion, copy the desired nodes and paste them into your Anim Graph.
  • If you don’t already have a Default Slot in your graph, copy and paste it. It is required for montages to play.

Step 25: Add Default Slot and Connect Anim Graph #

  • Ensure you have added the Default Slot in your graph and connected the Anim Graph correctly for montages to function properly.

Step 26: Compile and Save #

  • Compile and save. AAMS should now be fully integrated and ready to use.

Integration Steps (Unreal Knowledge: Beginner) #

Step 1: Preparation #

  1. Backup Your Project:
    • Locate your project folder on your computer (this folder will contain a .uproject file).
    • Copy this entire folder and paste it into a separate location, such as an external hard drive or cloud storage. This ensures that if anything goes wrong during the setup, you can restore your project from the backup.
  2. Download AAMS:
    • Open the Epic Games Launcher and go to the Unreal Marketplace.
    • Search for Action-Adventure Movement System (AAMS).
    • Click on Create Project, then wait for the project to be created.
    • The AAMS system will now be downloaded and you can open the project.

Step 2: Setting Up Project Settings #

  1. Creating New Trace Channels:
    • Open Unreal Engine, then click on Edit in the top toolbar and select Project Settings.
    • In the Project Settings window, scroll down to find Engine > Collision.
    • Scroll to the Trace Channels section.
    • Click the New Trace Channel button to create a new trace channel:
      • VineWall – Set the Default Response to Ignore.
      • Movement – Set the Default Response to Ignore.
      • Ledge – Set the Default Response to Ignore.
    • These trace channels allow specific actions like climbing and moving along ledges.
  2. Creating Physics Materials:
    • Open the Project Settings (bottom panel of Unreal Engine).
    • Scroll down to Physics > Physical Surfaces.
    • Name each new Physics Material according to the following:
      • Grass
      • Dirt
      • Gravel
      • Stone
      • Snow
      • Wood
      • Water
      • Metal
      • Mud
    • Physics materials affect how the character interacts with different surfaces (e.g., movement speed, friction).

Step 3: Enabling Required Plugins #

  1. Access the Plugins Manager:
    • In Unreal Engine, click Edit > Plugins from the top menu.
  2. Enable the Required Plugins:
    • In the search bar of the Plugins window, search for Animation Warping and Motion Warping.
    • Ensure both are enabled by toggling the switch to green.
    • These plugins are essential for advanced movement mechanics like precise animation and movement warping in AAMS.
  3. Restart Unreal Engine:
    • If prompted, restart Unreal Engine for the plugins to activate properly.

Step 4: Migrate AAMS Assets #

  1. Open the AAMS Project:
    • Open the AAMS project you downloaded from the Unreal Marketplace in Unreal Engine.
  2. Migrate the AAMovementSystemFolder:
    • In the Content Browser, find the AAMovementSystemFolder (you may need to expand the folders in the left panel).
    • Right-click on the folder and choose Migrate.
    • A window will pop up listing all the assets. Click OK to include all assets.
    • When prompted, choose your project’s content folder as the destination. All the necessary AAMS assets will be copied to your project.
  3. Close the AAMS Project:
    • Once the migration is complete, close the AAMS project and return to your project.

Step 5: Verify Collision Channels #

  1. Open the Data Table Folder:
    • In your project, go to the Content Browser.
    • Navigate to the folder containing the data tables (usually within AAMovementSystem/DataTables).
  2. Verify Collision Channels in DT_CollisionChannels:
    • Locate and double-click on the DT_CollisionChannels data table.
    • Verify that the collision channels (e.g., VineWall, Movement, Ledge) are correctly set as required.
    • This data table contains predefined settings for how different trace channels interact with the character and objects in the world.

VineWall

  • Trace Type: VineWall
  • Channel: VineWall
  • Tag to Check For: None

Interaction

  • Trace Type: Movement
  • Channel: Movement
  • Tag to Check For: Interaction

Movement

  • Trace Type: Movement
  • Channel: Movement
  • Tag to Check For: None

Ledge

  • Trace Type: Ledge
  • Channel: Ledge
  • Tag to Check For: None

WallRun

  • Trace Type: Movement
  • Channel: Movement
  • Tag to Check For: WallRun

Water

  • Trace Type: Movement
  • Channel: Movement
  • Tag to Check For: Water

Beam

  • Trace Type: Visibility
  • Channel: WorldStatic
  • Tag to Check For: Beam

Rope

  • Trace Type: Movement
  • Channel: PhysicsBody
  • Tag to Check For: Rope

Slope

  • Trace Type: Movement
  • Channel: WorldStatic
  • Tag to Check For: Slope

Step 6: Open Character Blueprints #

  1. Open Your Character Blueprint:
    • In the Content Browser, locate your character’s blueprint (e.g., MyCharacter).
    • Double-click to open the blueprint editor.
  2. Open BP_ExampleCharacter:
    • Also, open BP_ExampleCharacter from the migrated AAMS folder for reference.
    • Having both blueprints open will help you copy and integrate necessary elements from the AAMS example character.
  3. Motion Warping:
    Used to move character’s during certain animations in AAMS to ensure smooth movement that lines up with the animations.
    Found in Add Components after plugin initiated and project restarted(should be done before Migrating AAMS).

Step 7: Add Player Interface #

  1. Add BPI_AAMS_PlayerInterface to Your Character:
    • In your character’s blueprint, go to Class Settings (top toolbar of the blueprint editor).
    • In the Details Panel, under Interfaces, click Add.
    • Search for BPI_AAMS_PlayerInterface and select it to add the interface to your character.
    • Note: Interfaces allow communication between different blueprints and components in Unreal Engine.

Step 8: Copy Nodes #

  1. Copy the Red Commented Area:
    • In BP_ExampleCharacter, navigate to the Event Graph.
    • Look for the nodes inside the red commented area (these contain important logic for player actions).
  2. Paste into Your Character Blueprint:
    • Select all the nodes inside the red commented area, right-click, and choose Copy.
    • Go to your character’s Event Graph, right-click in an empty space, and select Paste.
    • Ensure all the pasted nodes are connected properly, and if there are any missing variables, right-click on them and choose Create Variable.

Step 9 (Optional): Setup Enhanced Inputs #

  1. Copy Input Mapping Nodes:
    • If you don’t already have enhanced inputs in your project, go to BP_ExampleCharacter and find the Add Input Mapping nodes inside the BeginPlay event.
    • Select and copy these nodes.
  2. Paste into Your Character’s BeginPlay:
    • In your character blueprint, go to the BeginPlay event.
    • Right-click and paste the input mapping nodes, ensuring they’re connected properly.
    • This ensures your character can handle necessary inputs such as movement, interactions, and actions.

Step 10: Add AAMS Actor Components #

  1. Add AC_State_AAMS:
    • In your character blueprint, click Add Component at the top of the components panel.
    • Search for AC_State_AAMS and add it to your character.
    • This component is necessary for handling different player states like sprinting, jumping, etc.
  2. Optionally Add AC_Interact_AAMS:
    • If you want to use AAMS’s interaction system, also add AC_Interact_AAMS in the same way.
    • If using your own interaction system, you’ll need to integrate the InitiateInteract event manually into your own system.

Step 11: Add Movement Nodes #

  1. Copy Determine Movement Functions:
    • In BP_ExampleCharacter, find the Determine Movement functions that handle input for character movement.
    • Copy these functions and paste them into your character’s Add Movement Input nodes.
  2. Add Completed Move Node:
    • In your character blueprint, add the Completed Move node from the example character and connect it to your Completed or Released actions.
    • This ensures your character’s movement is aligned with AAMS’s movement system.

Step 12: Add Jump Event #

  1. Copy the Jump Event:
    • In BP_ExampleCharacter, locate the Jump event inside the State Component.
    • Copy this node and paste it into your character blueprint.
    • This connects the character’s jump functionality to AAMS’s state system.

Step 13: Add Camera Inputs #

  1. Copy or Add Camera Inputs:
    • In BP_ExampleCharacter, find the camera input nodes.
    • Either copy these nodes or manually add them to your character’s blueprint to handle look-around functionality.

Step 14: Add Interaction Input Event #

  1. Add Interaction Input Event:
    • Copy the Interaction Input event from BP_ExampleCharacter if you’re using AAMS’s interaction system.
    • Paste it into your character blueprint’s Event Graph.
  2. Skip if You Use Your Own Interaction System:
    • If you already have your own system for handling interactions, this step is not necessary.

Step 15: Add Desired Inputs #

  1. Add Component-Specific Inputs:
    • Add the necessary input events based on which AAMS components you’re using (e.g., if you want the grappling hook, you’ll need to add inputs for the Adventure Component).
  2. Reference BP_ExampleCharacter:
    • Use the BP_ExampleCharacter as a guide to see how different inputs are set up for various AAMS functionalities.

Step 16: Retarget Animations #

  1. Retarget AAMS Animations:
    • In the Content Browser, right-click on the animation blueprints, montages, offsets, and blendspaces from AAMS.
    • Choose Retarget Animation Assets and select your character’s skeleton.
    • This ensures that all animations are properly adjusted for your character model.

Step 17: Use AAMS’s Animation BP as Base #

  1. Set ABP_AAMS_Locomotion as Animation BP:
    • If you’re using AAMS’s animation blueprint (ABP_AAMS_Locomotion) as the base for your character, you can skip steps 18–25.
    • To set the animation blueprint:
      • Open your character blueprint and select your character’s mesh component.
      • In the Details panel, find the Anim Class dropdown and set it to ABP_AAMS_Locomotion.

Step 18: Add Animation Interfaces #

  1. Add Interfaces to Animation Blueprint:
    • Open your character’s animation blueprint.
    • In the Class Settings, add the interfaces BPI_AAMS_AnimBP and AAMS_Animation_Layers.
    • This enables your AnimBP to communicate with AAMS’s animation layers and systems.

Step 19: Copy Interface Events #

  1. Copy AAMS Interface Events:
    • In ABP_AAMS_Locomotion, locate the AAMS Interface Events section in the Event Graph.
    • Copy these events and paste them into your character’s animation blueprint.
  2. Create Missing Variables:
    • If any variables are missing, right-click on them and choose Create Variable.
    • Compile and save your animation blueprint.

Step 20: Set References to Owning Character #

  1. Copy Set References Nodes:
    • In ABP_AAMS_Locomotion, find the section where the blueprint sets references to the owning character (usually in the Event Graph).
    • Copy this section and paste it into your character’s animation blueprint.

Step 21: Copy Functions #

  1. Copy Required Functions:
    • Copy the following functions from ABP_AAMS_Locomotion to your animation blueprint:
      • Calculate Distance (handles movement direction and jitter)
      • GetMovementSpeed
      • ShouldMove?
      • IsFalling?
      • GetVineWallDirection
      • GetAimOffset
      • TurnInPlace
    • Ensure all variables and logic are connected properly.

Step 22: Add Blueprint Thread Safe Update Animation #

  1. Override the Thread Safe Update Animation:
    • In your animation blueprint, go to the Functions section.
    • Click on Override and select BlueprintThreadSafeUpdateAnimation.
  2. Copy Logic from ABP_AAMS_Locomotion:
    • In ABP_AAMS_Locomotion, find the Thread Safe Update Animation function.
    • Copy the function’s contents and paste them into your newly created override.

Step 23: Copy Animation Layers #

  1. Copy Animation Layer Nodes:
    • In ABP_AAMS_Locomotion, find the animation layers for:
      • Look At Aim Offset
      • Turn In Place Layer
      • Feet IK Layer
      • AAMS IKUpdate
  2. Paste into Your Animation Blueprint:
    • Copy these nodes from ABP_AAMS_Locomotion and paste them into your character’s animation blueprint layers.

Step 24: Retarget Animation Blueprints #

  1. Retarget Specific Animation Blueprints:
    • Right-click on the following blueprints and select Retarget Animation Assets:
      • ABP_AAMS_ActionLayer
      • ABP_AAMS_AdventureLayer
      • ABP_AAMS_ClimbLayer
      • ABP_AAMS_SwimLayer
  2. Copy Nodes to Anim Graph:
    • In ABP_AAMS_Locomotion, find the desired nodes in the Anim Graph and copy them.
    • Paste these nodes into your own Anim Graph and ensure they’re connected properly.

Step 25: Add Default Slot and Connect Anim Graph #

  1. Add a Default Slot:
    • In your Anim Graph, check if there is a Default Slot node.
    • If not, copy the Default Slot node from ABP_AAMS_Locomotion and paste it into your Anim Graph.
  2. Connect the Anim Graph:
    • Ensure all nodes in your Anim Graph are connected correctly, including the Default Slot node, as it is required for montages to play.

Step 26: Compile and Save #

  1. Compile Your Blueprints:
    • After all changes, click the Compile button in each of your modified blueprints (Character BP, AnimBP, etc.).
  2. Save Your Project:
    • Once everything is compiled and working as expected, save all assets and your project.