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.