ue-character-and-movement

Implement Unreal Engine C++ characters using ACharacter and UCharacterMovementComponent with networked movement.

55|5|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/kevinpbuckley/unreal-engine-skills --skill ue-character-and-movement-kevinpbuckley
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ue-character-and-movement
Source: https://github.com/kevinpbuckley/unreal-engine-skills/tree/main/skills/core/ue-character-and-movement
Command: npx skills add https://github.com/kevinpbuckley/unreal-engine-skills --skill ue-character-and-movement-kevinpbuckley

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Writing character movement in Unreal Engine C++ requires knowing the correct ACharacter and UCharacterMovementComponent APIs, movement modes, rotation flags, and networking rules; mistakes like conflicting rotation flags or bypassing prediction cause subtle bugs that are hard to diagnose. ## Core Features & Use Cases - Character Setup: Create third-person or first-person characters with capsule, mesh, SpringArm, and camera configured correctly, including movement input via AddMovementInput. - Movement Modes & Custom Physics: Configure walking, falling, flying, and swimming modes, or implement custom modes by subclassing CMC and overriding PhysCustom. - Root Motion & Networking: Apply FRootMotionSource objects and LaunchCharacter for procedural movement that participates in client-side prediction and server reconciliation. - Use Case: You are building a networked third-person character that needs double-jump, crouching, and a dodge-roll root motion move; this Skill provides the exact properties, flags (like bCanCrouch), and engine source citations to implement it correctly. ## Quick Start Use this skill to create a networked third-person Unreal C++ character class with walking, jumping, crouching, and a custom movement mode.

Frequently Asked Questions about ue-character-and-movement

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a third-person character in Unreal Engine C++?

Subclass ACharacter, attach a SpringArm to the root capsule and a camera to the SpringArm, then set bUseControllerRotationYaw to false and bOrientRotationToMovement to true on the CharacterMovementComponent. Configure MaxWalkSpeed, JumpZVelocity, and RotationRate in the constructor.

How do I implement a custom movement mode in Unreal Engine?

Subclass UCharacterMovementComponent and override PhysCustom, then inject it via ObjectInitializer.SetDefaultSubobjectClass in the character constructor. Activate it at runtime with SetMovementMode(MOVE_Custom, customModeIndex).

Why does Crouch() do nothing on my Unreal character?

Crouch silently fails unless bCanCrouch is set to true on the character's NavAgentProperties before calling Crouch(). Set GetCharacterMovement()->GetNavAgentPropertiesRef().bCanCrouch = true in the constructor or BeginPlay.

Should I use CharacterMovementComponent or the Mover plugin in UE 5.8?

UCharacterMovementComponent is production-proven with built-in client prediction and works for capsule-based characters. The Mover plugin is experimental, actor-type agnostic, and uses rollback networking; evaluate it only if you need modular modes or non-capsule shapes.

Why does my networked character snap back after SetActorLocation?

SetActorLocation bypasses CMC's prediction system, so the server reconciliation snaps the character back on the next correction. Use AddMovementInput, Jump, LaunchCharacter, or root motion sources so moves are saved and replayed correctly.

How do I add custom state to character movement prediction?

Subclass FSavedMove_Character and override GetCompressedFlags, SetMoveFor, and PrepMoveFor to serialize your state into the FLAG_Custom_0 through FLAG_Custom_3 bits. Also override GetPredictionData_Client in your CMC subclass to allocate the custom saved move.