Skip to content
Back to wiki

Movement Control System Extension

Created: Apr 20, 2025Updated: Oct 28, 2026

GMS separates movement control from animation configuration. To change a character's speed, facing, or animation, start with its Movement Definition, Movement Set, and settings.

Adjust movement control

Choose a Movement Control Setting in the Movement Set and configure its Movement States, rotation modes, and settings for the active backend. You can copy a setting from the companion project and adjust speed, acceleration, and braking for your character. See Movement Control Settings.

Use RuntimeSpeedAdjustment for temporary speed changes during gameplay. To change a character's movement profile or stance, switch the Movement Definition or Movement Set. See the Gameplay Guide.

Add project-specific data and logic

Use a Movement Set's User Settings to store project-specific configuration. You can also derive a component from Character Movement System Component and override the events or functions your project needs. Check the class comments and companion project examples when choosing an extension point, and test your logic after switching Movement Sets.

GMS Locomotion Mode reflects the current movement backend's mode for movement and animation logic to read. Change the actual movement mode through the active movement component and let GMS synchronize the result.

Extend animation

To change animation selection or poses, see Anim Layer Extension and Main Animation Blueprint Extension. Animation layers read the state and tags supplied by GMS so that animation and movement control use the same information.