Contents
Unreal Engine 5.8 · System guide
Character Movement
Tune and network Character Movement systems
On this page
Choose a task
Choose an approach
Build and understand
Troubleshoot
Workflow and boundaries
Use these checks when a task crosses several systems. The focused references above contain the specific actions.
Select the movement framework
- Use
ACharacterwithUCharacterMovementComponentfor standard capsule-based walking, falling, swimming, flying, crouching, root motion, and mature network prediction. - Extend CMC with
MOVE_Customwhen one or more special modes must coexist with standard Character movement and its networking model. - Use Root Motion Sources or GAS root-motion Ability Tasks for short, programmatic special moves that must participate in Character network prediction.
- Evaluate Mover only when its mode/layered-move architecture materially benefits the project. In UE 5.8 Epic still labels Mover Experimental; record that shipping risk.
- Use a bespoke Pawn movement component only when Character's capsule/mode model is a poor fit.
Read references/system-selector.md before choosing.
Tune in dependency order
- Declare desired feel in measurable terms: target speed, time to speed, stopping distance, turn time, jump height/time, air steering, walkable slope, and step height.
- Establish collision capsule and floor behavior.
- Tune
MaxWalkSpeed,MaxAcceleration, braking, and friction together. - Select rotation ownership: movement direction, controller desired rotation, or explicit gameplay rotation. Avoid competing rotation systems.
- Tune
JumpZVelocity, gravity, hold behavior, andAirControlas one jump model. - Add crouch, sprint, slopes, platforms, and special movement one at a time.
- Integrate animation after the physical trajectory is stable.
- Verify at varied frame rate, target hardware, slopes/steps/edges, and network conditions.
Read references/parameter-effects.md for variable effects
and references/grounding-jumping.md for ground and jump
procedures.
Network before polishing
Read references/networking.md before adding replicated special
movement. Standard CMC prediction does not automatically serialize arbitrary custom state.
Extend saved moves/network move data when the server must reproduce new input or state.
Read references/special-movement.md for dashes, launches,
teleports, custom modes, and root motion. Route action timing/input buffers to
$unreal-enhanced-input, action animation blending to $unreal-animation-blending, and
ability-owned movement to $unreal-gas-abilities.
Hard rules
- Tune coupled parameters together; speed alone does not define feel.
- Do not drive one movement simultaneously through CMC velocity, manual transforms, and root motion.
- Do not use client
SetActorLocationas predicted multiplayer movement. - Teleport on the server and mark the move as a teleport through the supported API path.
- Do not disable server corrections to hide a faulty movement implementation.
- Keep the collision capsule authoritative; mesh offset is presentation.
- Test custom movement with latency, packet loss, low frame rate, slopes, edges, and moving bases.
Use references/troubleshooting.md for sliding, jitter,
corrections, slope/step failures, root-motion conflicts, and frame-rate dependence. See
references/sources.md for the UE 5.8 source trail.
Version and evidence
Targets Unreal Engine 5.8 documentation. This label does not establish that every procedure was tested in an editor or packaged build.
Read the documentation sources and verification notes →