Movement Control System Extension

avatar`
Yuewu(罗传月武)
Updated: Apr 21, 2025

Movement System Extension

The system provides GMS_MovementSystemComponent, which is abstract and provides the general functionality of movement logic.

Simple extension

More specifically, GMS provides a CharacterMovementSystemComponent (CMS, inherited from GMS_ MovementSystemComponent) that works with the ACharacter class.

Most of the interfaces reserved in this component can be overridden in blueprint/C++, you should inherit one from this class and explore what can be overridden.

Expand new locomotion mode

It is mentioned in the user guide that GMS currently only handles locomotion modes for Grounded and InAir. Therefore, if switching to other locomotion modes that GMS has not implemented, GMS will not do anything.

At this point, you can override the corresponding function in your CMS subclass to handle the control of other locomotion modes.

If you want to completely delegate the control of the movement to a third-party system in certain special locomotion mode, then directly turning off the tick update of the CMS is the most convenient way(better solution will come soon).

Create new movement system component

This is rare, but if you need to support custom movement component (non-CMC) and want to keep the same interface, you should create a new component that inherits from the GMS_ MovementSystemComponent and implement custom logic.

Example: Create a MoverMovementSystemComponent to support the CharacterMoverComponent provided by Mover 2.0.