Define what the runner may know
An automated agent can receive the full navigation graph, a local perception window, rendered images or a stream of game events. Those observation choices change what its success means. An agent with exact target coordinates may validate physical reachability while saying little about whether a player can discover the destination. Write the observation contract alongside the task so a convenient testing shortcut is not mistaken for evidence of player-like understanding.
Define actions just as carefully. A runner that teleports between waypoints tests different things from one that applies ordinary movement input. Directly setting velocity may bypass acceleration, input buffering, animation and network prediction. That can be appropriate for a navigation-data check, but inappropriate for a locomotion regression. Use the lowest level of control needed to exercise the system you intend to validate, and document anything deliberately bypassed.
Prefer a simple baseline first
Start with a scripted runner for known routes. A state machine can express approach, interact, wait, traverse and verify states explicitly. Behavior trees can organize reusable actions and recovery rules. Neither method guarantees correctness, but both make decision logic inspectable. A small deterministic baseline also helps distinguish an environment defect from a failure introduced by a more complex testing policy.
A search-based runner can vary destinations, action sequences or route costs to discover unusual transitions. A learned policy may help where movement requires coordination that is difficult to hand-script. Unity ML-Agents, Gymnasium and Google Research Football illustrate different interfaces and environments for agent experimentation; they are not interchangeable navigation-testing solutions. Evaluate integration cost, reproducibility and observation access in your own project rather than selecting a tool by its demonstrations.