# AI AI runs on the server, where it is the only machine that moves its character, so it needs no prediction: it only needs a way to ask for a traversal without pressing a key, and a way for its path to go over things. ## Asking for a traversal | Movement | Call | |---|---| | CMC | `TryTraverse()` on the Traversecraft CMC: whatever is in front (vault, mantle, climb, a ladder, a gap to slide under) | | Mover | `RequestTraverse()` on `UTRCCharacterMoverComponent`, taken on the next simulation tick as a jump press would be. Server only | The character has to be facing or moving toward the obstacle, as a player would. ## Paths over obstacles: TRC Traversal Nav Link The navmesh stops at a wall to vault or a ledge to climb, so a path cannot cross it on its own. Place a **TRC Traversal Nav Link** across each one, like a Nav Link Proxy: 1. Put it at the obstacle. Its **Smart Link** has a left point and a right point: left before the obstacle, right past it (or on top of it). The direction is left to right. 2. Clear its **Point Links** (simple links), or the AI walks straight at the obstacle with no traversal. 3. Build paths. An AI whose path uses the link walks at the obstacle, asks for the traversal, keeps pushing through a ladder (up or down, by where the right point is) or a hang (it jumps to climb up), and gets its path back once the move is over. **Give Up After** (6 s) hands the path back anyway if nothing happens. Measured on the lab map: an AI with a Traversecraft CMC took a path over a 60 cm wall and onto a 150 cm block through two links, vaulting and mantling, in under 7 s. ## Limits - The nav link drives the character with `AddMovementInput`, so it works with CMC characters. A Mover pawn takes its move input from its own input producer: use `RequestTraverse` from your own AI code there. - The links are placed by hand; nothing generates them from the level.