# Getting started with Mover There are two ways in. Both give the same moves; they differ in where the settings live. ## Using Traversecraft's component If your character makes its Character Mover Component in C++, make it a `UTRCCharacterMoverComponent`. It adds the two Traversecraft modes and the start transition by itself, and its settings are in its **Traversal** section. It also has `GetTraversal()`, `GetLadderClimbRate()`, `OnTraversalStarted` and `OnTraversalFinished`. ## Adding Traversecraft to your own Mover component A Character Mover Component added in a Blueprint cannot change class without breaking every node that uses it, so for those (the Game Animation Sample's is one), add Traversecraft to the component you already have. The quick way: right click the Blueprint in the Content Browser, **Set Up for Traversecraft**, and save. Every Character Mover Component the Blueprint adds gets the six modes, the start transition and the shared settings, and the Blueprint compiles; a window lists what changed. By hand: 1. Select the component. Under **Movement Modes**, add six entries: - `Traversecraft` → **TRC Mover Traversal Mode** - `TraversecraftLadder` → **TRC Mover Ladder Mode** - `TraversecraftHang` → **TRC Mover Hang Mode** - `TraversecraftWallRun` → **TRC Mover Wall Run Mode** - `TraversecraftZipline` → **TRC Mover Zipline Mode** - `TraversecraftRope` → **TRC Mover Rope Mode** The names have to be exactly these. 2. Under **Transitions**, add **TRC Mover Traversal Start Transition**. 3. Compile, save, and compile again. The first compile adds a **Traversecraft** entry under **Shared Settings**; the settings are there (see [Settings](../settings/)). 4. Optional: add a **TRC Mover Traversal Events** component to the actor for `OnTraversalStarted`, `OnTraversalFinished`, `GetTraversal`, `GetLadderClimbRate` and the animations. Your own modes stay as they were. Traversecraft takes over from them only while a move runs, and hands back to **Falling** at the end. ## How a jump becomes a traversal With `UTRCCharacterMoverComponent`, the component looks before the simulation runs and skips the normal jump when it finds something to go over. On any other Mover component, the start transition sees the same press in the same tick, after the jump has started, and the traversal takes over before the character has moved. Either way the decision comes from the input and the position at the start of the tick, so the owner and the server make the same one. ## What runs where The path and the time along it live in the sync state (`FTRCMoverTraversalState`, `FTRCMoverLadderState`), so Mover's own rollback brings them back exactly as they were. Nothing else is replicated.