Skip to content

Mover and CMC pawns

GASPALS ships the same character on two movement back ends. Both run the same systems (camera, cover, equipment, first person, overlays, traversal), the same Anim Blueprint design, and both work in multiplayer.

SandboxCharacter_Mover SandboxCharacter_CMC
Base class Pawn Character
Movement CharacterMoverComponent (Mover 2.0) with Network Prediction CharacterMovementComponent
Movement logic Movement modes (Blueprint classes) and transitions Pawn functions before the CMC update (UpdateMovement_PreCMC)
Prediction Input commands simulated on owner and server; rollback and resimulation The CMC's client prediction and server corrections
Slide Yes (BP_MovementMode_Slide) No
Ragdoll On the child pawn SandboxCharacter_Mover_Ragdoll (Mover ragdoll mode, physics control, takedowns) AC_RagdollSystem (press X)
Foot placement CR_Biped_FootPlacement Control Rig Foot Placement node and leg IK
Default locomotion setup State machine / blend stack hybrid Full motion matching
Capsule radius 30, half height 86 radius 40, half height 86
Cover adapter AC_CoverSystem_Mover AC_CoverSystem_CMC
Engine status Mover is experimental in 5.8 Production

Switching pawns

The game mode spawns the pawn chosen by DDCvar.PawnClass:

Value Pawn (GM_Sandbox)
-1 (default) Default Pawn Class: SandboxCharacter_CMC
0 SandboxCharacter_CMC
1 SandboxCharacter_Mover

Press N in game to cycle, or type DDCvar.PawnClass 1 in the console. Every player is respawned in place. GM_Sandbox_Ragdoll (RagdollLevel) uses SandboxCharacter_Mover_Ragdoll.

To start a project on the Mover pawn, set the Default Pawn Class of your game mode, or the default of DDCvar.PawnClass to 1.

The Mover pawn

Mover splits movement into modes. Each mode is a Blueprint (or native) class registered by name on the CharacterMover component:

Mode name Class Use
Walking BP_MovementMode_Walking Ground movement: gait speeds, acceleration, turning.
Falling BP_MovementMode_Falling In the air.
Flying B_MovementMode_Flying Traversal montages and the debug fly toggle (Z).
Sliding BP_MovementMode_Slide Slide.
Cover BP_MovementMode_Cover Movement along cover.
Traversing native Flying mode Registered, not used.
Ragdoll BP_MovementMode_Ragdoll Ragdoll pawn only.

Transitions move between modes (into cover, into and out of a slide, the ragdoll pawn's requested modes). See Movement.

Every frame Mover asks the pawn for an input command (ProduceInput), simulates the modes with it, and on a remote machine replays the same commands. Anything that changes movement must therefore go through the input command: the cover system adds its data to it (S_MoverCustomInputs_Cover), the ragdoll pawn adds its enter and exit requests. Changing a mode directly from gameplay code (QueueNextMode) only affects the local machine.

The CMC pawn

The CMC pawn is a classic Character. Its movement settings are changed every frame before the Character Movement Component runs, from the pawn's gait (walk, run, sprint, crouch) and direction:

Speeds (forward, strafe, backward) Value
Walk Speeds 200, 180, 150
Run Speeds 500, 350, 300
Sprint Speeds 700, 700, 700
Crouch Speeds 225, 200, 180

AC_PreCMCTick makes this update (and the cover update) run after the controller and before the CMC. The CMC pawn starts with strafing on.

Which one to build on

  • CMC if you want the mature, well-documented Character pipeline and the widest compatibility with marketplace content.
  • Mover if you want the newer movement framework: modular modes, deterministic prediction and rollback, and an easier path to custom movement such as wall running or climbing. Mover is still experimental in UE 5.8, so expect engine changes.

Both pawns are kept at feature parity in GASPALS, so systems you add should be tested on both.

Ragdoll pawn

SandboxCharacter_Mover_Ragdoll extends the Mover pawn with a physics-driven character: a Physics Control component for physical animation, a Ragdoll movement mode with get-up animations, takedowns and shoves between characters, and demo tools. See Ragdoll and interactions.

Settings reference

The pawn variables, functions and interfaces are listed in Pawns and Anim Blueprints, and the movement modes in Movement modes.