Motion Manager Component
To integrate animation related functionalities to your character, simply add “MotionManager“ component in your character class.

Selecting the added component, you can see detailed properties this component has and manages. The most important variables are under “settings” category.
Init Method: Four methods are available to initialize motion component, you can choose the one you required based on the situation or requirements.
FullTemplate Override Settings: Let Full Template (See Here) assigned to your character init motion component and overrides its settings with those set in the Full Template.
FullTemplate Maintain Settings: Same as before, but maintains the settings you have on motion manager.
Automatic: Inits as soon as begin play reaches the component, uses settings in this component.
Manual: Let the user init this component.
Debug States: Debug boolean, when toggled current locomotion state and stage is shown both in server and client around the character.
Movement Update Mode: Two different modes of updating movement settings.
Automatic: Let this component update Character Movement Component of your character, this will only work if your pawn implements Character Movement Component.
Manual: Each time movement settings are updated, a dispatcher will be send and you can update your own movement system manually.
Current Movement Label: Movement Settings at the current stage your pawn is in. Also its used to specify the initial movement settings used.
Overrided Locomotion Map: Store different labeled movement settings directly, you can use this map to avoid creating a data asset or to override a movement label set in a DA. When changing between movement labels, the data set here will be taken over the one set on Asset Locomotion Map.
Asset Locomotion Map: Store all the movement label this character can enter, the data asset linked to it will contain essential information for that locomotion.
Current Action Settings: Store all actions this character can perform (eg. death, attacks, dodges, etc).
Overrided Labeled Actions: Lets you define the actions directly in the component, override those actions set with the same labelling, in Action Settings data asset.
Action PlayRate: Play rate actions will be played out with used by this system.

Data Assets
Locomotion Settings
To create a new locomotion settings type of data, that will be assigned in the locomotion map of the motion manager, right click on a folder empty place and search for Miscellaneous -> DataAsset: DA_LocomotionSettings.



In Locomotion Settings DA or Overrided Movement Settings, you can customize your character’s movement properties as long as it stays in that locomotion state.
Movement Stage: The stage name inside the current locomotion, each defined stage will be associated with several movement properties, called movement settings.
Top Speed: Max speed your character can reach.
Max Acceleration: Max acceleration your character can get.
Ground Friction. Friction against the ground. Using Unreal definition.
Falling Friction: Friction against air, when falling. Using Unreal definition.
Walking Deceleration: Deceleration when not applying acceleration.
Gravity Scale: Gravity associated with this pawn.
Rotation Rate: Rotation defined in Character Movement Component, Affects rotation capacities both in focus or input orient rotation policies.
IsRootMotion: Defines whether at this movement stage the movement should be root based or capsule based. Only affects if using a Full Template.
Overrides Rotation Policy: Defines if at this stage the pawn should override the current rotation policy. (an example would be, if you are strafing around a target, but you shouldn’t if you are sprinting)
Idle Turn In Policy: Defines how to turn in place behaves when this pawn is idle and we are in this movement stage.
Action Settings
To create action settings for your character, you can repeat the same steps as to create locomotion settings, instead select “DA_ActionSettings“ as your DataAsset base.
Action settings is a centralized way of storing all the actions your character can perform, and its integrated with the behavior system that we will explain further.

Action Overriding
While you can setup all your character’s actions inside a single data asset, you may want to override one or some of them. Or you may want to setup the actions directly in the character class.
For this case you can just set them in the motion manager associated to your character as shown below:

Blueprint Communication
Once you have set your desired settings you can set them up in motion manager’s LocomotionSettings Map, and asign a label to it. The component will inform you through a dispatcher when locomotion settings update. Same with other relevant variables:

Appart from dispatcher updates, you can update or call different functionalities from motion manager at runtime.

Update Locomotion Settings: Sets the desired locomotion setting to be active, as long as it exists in Locomotion Settings Map.
Update Movement Stage: Updates the Current Movement Stage of the active locomotion settings, thus it will update associated movement parameters.
Update Rotation Policy: This plugin allows for 2 types of rotation, One is velocity oriented (pawn face current velocity direction) and the other is target-locked rotation (pawn will face its control rotation). The main difference is the type of anim assets they will require to look good, while velocity oriented rotation will require only anim sequences target-locked rotation will need an anim blendspaces. This function allows you to update dynamically the current rotation policy.
Override Rotation Policy: Override current rotation policy for a period of time, greater than 0, or until you manually resume it.
Resume Rotation Policy: Resume rotation policy to whatever was before overriding it.
Play Main Action: Replicate and Executes desired labeled montage.
Override Movement Settings / Resume Movement Settings: Allow to dynamically override your current movement settings, with optional recover time. Resume function will revert the changes to the actual movement settings associated with the current movement stage.