Develop
Develop
Select your platform

Telepath locomotion

Updated: Dec 9, 2025

What is Telepath locomotion?

Telepath is a locomotion mode that combines the precision of teleportation with the smoothness of continuous movement. Instead of instantly jumping to a destination, Telepath calculates a path using NavMesh and smoothly moves the player along that path, creating a more immersive travel experience.
Telepath locomotion

How does Telepath locomotion work?

When a user selects a teleport destination, the TelepathLocomotor receives the Absolute (Teleport) LocomotionEvent and transforms it into a series of velocity events that guide the player along the calculated path. These velocity events can be consumed by the FirstPersonLocomotor or any other player locomotor.
The Telepath system operates through a pipeline of components that work together to provide smooth pathfinding locomotion.

TelepathLocomotor

The TelepathLocomotor is the core component that handles the transformation of teleport events into smooth movement. It listens for incoming Absolute translation LocomotionEvents and processes them as follows:
  1. Receives an Absolute LocomotionEvent from a TeleportInteractor
  2. Calculates a valid path using Unity’s NavMesh system
  3. Transforms the path into a series of velocity LocomotionEvent instances
  4. Broadcasts these velocity events frame-by-frame to guide the player along the path
  5. Continues until the player reaches the destination
PropertyDescription
Character feet
The character’s feet transform, used as the starting point for pathfinding calculations
Corner threshold
The minimum distance to consider that the player has reached a corner in the path
Agent index
The index of the NavMesh agent in Navigation settings to be used for path calculation
Areas ID
The area mask used for path calculation

TelepathActionsBroadcaster

The TelepathActionsBroadcaster decorates TeleportInteractor events with additional metadata that helps the Telepath system visualize and control the movement.
This component broadcasts special Hover and Halt LocomotionEventActions that are decorated into empty LocomotionEvents at the source. These decorated events can be read by the TelepathLocomotor down the LocomotionEvent pipeline to:
  • Hover: Signals when the user is hovering over a valid destination, allowing preview of the path
  • Unhover: Signals when the user stops hovering, clearing any path preview
  • Halt: Immediately stops the ongoing Telepath movement
PropertyDescription
Broadcast Halt
If enabled, sends a Halt event when the interactor is disabled, stopping any ongoing movement

TelepathLocomotionVisual

The TelepathLocomotionVisual component renders the calculated path using a series of dots, providing visual feedback to the user about where they will travel. The visual responds to the Hover and Unhover actions broadcast by the TelepathActionsBroadcaster.
PropertyDescription
Hover color
Color of the path dots during hover state
Select color
Color of the path dots during active travel
Radius
Size of each dot in the path visualization
Step
Distance between each dot along the path
Max dots
Maximum number of dots that will be drawn

LocomotionEvent pipeline

Telepath operates within the standard LocomotionEvent pipeline:
  1. Input stage: TeleportInteractor selects a destination and creates an absolute LocomotionEvent. Note that this event can be generated by any input and does not have to be a teleport interactor.
  2. Decoration stage: TelepathActionsBroadcaster adds Hover/Halt metadata to an empty LocomotionEvent for path preview and control.
  3. Transformation stage: TelepathLocomotor receives absolute events and transforms them into a series of velocity LocomotionEvent instances.
  4. Execution stage: FirstPersonLocomotor consumes the velocity events and moves the player smoothly along the path. Note that any other locomotor that interprets velocity events can be used instead.
Telepath relies on Unity’s NavMesh system to calculate valid paths. To use Telepath in your scene:
  1. Ensure your scene has a baked NavMesh with appropriate walkable areas
  2. Configure the Agent Type in the TelepathLocomotor to match your NavMesh settings
  3. Set the appropriate Area Mask to control which NavMesh areas can be traversed
If a path cannot be calculated, such as when the destination is unreachable via NavMesh, the TelepathLocomotor falls back to a standard instant teleport.

Learn more

Did you find this page helpful?