Overview
This document explains the basic configuration of the CharacterMovementSystem component (Character Movement System) in GMS.
Component Configuration
The system works with Unreal Engine's Character, but its movement backend must use GMS's GMS_CharacterMovementComponent (C++ class: UGMS_CharacterMovementComponent). The default CharacterMovementComponent does not apply GMS backend movement settings.
Setup:
- Set the Character's Movement Component class to
GMS_CharacterMovementComponent. - Add
GMS_CharacterMovementSystemComponent(C++ class:UGMS_CharacterMovementSystemComponent).
The key configurations of the component are as follows:
- Specify the Movement Definition used by the character.
- Specify which Movement Set setting within the current Movement Definition to use.
- Specify the character's default Rotation Mode.
- Specify the character's default owned Tags used to drive animation selection.
The active Control Setting's BackendSettings must also include UGMS_CharacterMovementBackendSetting with backend values for the Movement States in use. See Movement Control Settings.
All other configurations include in-editor tooltips.
Movement Modes and Gameplay Tags
In GMS, Gameplay Tags are used to represent different movement modes.
Map standard CMC movement modes to Gameplay Tags here with MovementModeToTagMapping, and map custom mode IDs with CustomMovementModeToTagMapping. These maps mirror the active backend mode into GMS's semantic state for movement and animation logic.
Note
The mappings only mirror the current backend mode into GMS's semantic state; they do not implement movement behavior. Grounded and InAir use the built-in GMS handling. Any other custom mode needs its own backend handling and registration, or GMS will not apply movement logic for that mode.
For custom movement modes, see the Extension Guide.
Character Class Settings
These rotation settings apply after replacing the Character's movement component with GMS_CharacterMovementComponent. GMS has its own rotation system, so disable the following Character settings.
CMC Settings
On GMS_CharacterMovementComponent, disable the following settings and set Rotation Rate to 0. Do not apply this configuration while the Character still uses the default CharacterMovementComponent.
It is recommended to enable the following settings to ensure Stop animations are more easily presented.
AI Settings
GMS base locomotion animation uses acceleration to drive Start/Stop behavior. Ensure AI Characters also use GMS_CharacterMovementComponent; configure backend acceleration in the active Control Setting's BackendSettings. Keep the AI DesiredSpeed classification consistent with Movement States and SpeedToMovementStateCurve.