Where the traditional Character Movement Component gives you a set of predefined movement parameters to work with, you can use the Mover plugin to define new, modular movement behaviors in C++ and integrate them into your character.
With Mover, you'll build Movement Modifiers that adjust existing movement parameters, and Movement Modes that take over how the character moves while they're active. During gameplay, the character's Mover Component layers Movement Modifiers or transitions between Movement Modes depending on input or environment.
Mover also adds rollback networking support, which rolls the character’s position back if there is a slight lag between the client and the server, ensuring that your players have a smooth, lag-free, experience. This makes Mover a strong foundation for multiplayer games because it produces tight, responsive controls that are well-suited for fast-paced action games and platforming games alike.
This tutorial series teaches you how to create custom Movement Modifiers and Movement Modes for your character with Mover. To do this, you’ll build a first-person parkour game that uses a Mover-enabled Pawn. In this series, you’ll learn the implementation details as well as the design rationale. So, you’ll not only understand how to write each system, but you’ll also understand how the Mover-enabled Pawn communicates with its movement components.
Parkour Game Overview
Starting from a new C++ project, you’ll take a sample Pawn from the Mover plugin and implement sprinting as a Movement Modifier and grappling and wall running as Movement Modes in Mover. As you implement the two Movement Modes, you’ll also learn how Mover’s simulation tick and sync state system work in practice. You'll finish the series with a complete, playable parkour game with a timed obstacle course, a save system for best run times, and a level design that teaches and challenges the player.
Through this tutorial, you’ll learn how to:
Create a Movement Modifier struct by deriving from
FMovementModifierBase.Build custom Movement Mode classes and integrate them with a Mover-enabled Pawn.
Use Actor Components to communicate between a Pawn and its Movement Modes.
Use the Mover plugin to teleport the player to a respawn point.
Design a level that teaches movement mechanics progressively.
Before You Begin
This tutorial series requires Unreal Engine 5.8 or later.
Before starting this tutorial, complete these requirements:
Be familiar with basic Unreal Editor skills such as:
Manipulating objects in viewports.
Creating assets.
Working with Blueprints and basic Materials. If you’re new to Unreal Engine, read Unreal Engine for New Users.
Be comfortable with intermediate C++ and have prior experience writing C++ in Unreal Engine.
If you're new to C++ in Unreal Engine, complete Code a First-Person Adventure Game.
Let's Go!
Mover Project and Character Setup
Set up a new C++ project, the Mover plugin, and a player Pawn that functions with a Character Mover Component.
Sprint Movement Modifier
Build a Movement Modifier with Mover in C++ that changes the character’s movement to sprinting speed.
Grappling Hook Movement Mode
Build a Movement Mode in C++ that gives a character the ability to grapple towards a target.
Wall Running Movement Mode
Build a Movement Mode in C++ that gives a character the ability to run along walls and jump from wall to wall.
Track Progress With Checkpoints
Build a Checkpoint gameplay object in C++ and Blueprints to track a player’s progress through a platforming obstacle course and set where they respawn.
Player Respawn With Mover
Use Mover to teleport the player to a respawn location.