Skip to content
Back to wiki

Character Movement System

This document explains the basic configuration of the CharacterMovementSystem component (Character Movement System) in GMS.

A

Author

Author

Created: Nov 02, 2025Updated: Oct 15, 2026

Table of contents

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:

  1. Set the Character's Movement Component class to GMS_CharacterMovementComponent.
  2. 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.