> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elementlabs.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Routes

> Control the line drawn from the player to a destination.

`configs/map-route.jsonc` controls the line the map draws from the player to their destination:
its width, its colour, and whether it is drawn in as an animation.

The route follows the same path the game's own navigation would. This file changes how it looks on
the map, not where it goes.

## Settings

### Appearance

| Key | Default | Meaning |
| - | - | - |
| `thickness` | `12.0` | How thick the line is on screen. Because it is measured on screen, the line stays the same visual width at every zoom level. |
| `maxWidth` | `13.0` | A ceiling on the line's width in the world, in metres. It stops the line from swallowing streets when the camera is high. |
| `color` | `[164, 76, 242, 255]` | The colour, as red, green, blue and opacity, each from `0` to `255`. |

Both width values apply together: the line is drawn at the on-screen thickness until that would
exceed `maxWidth` in the world, and is capped there.

A route to a marker that carries its own route colour uses that colour instead. See
[Exports](https://docs.elementlabs.net/products/3d-pause-menu/reference/exports.md).

The route is rebuilt as the player moves, about every 50 metres, so it stays accurate on the move
without being recalculated for a player standing still.

### Draw-in animation

| Key | Default | Meaning |
| - | - | - |
| `animate` | `true` | Whether the line is drawn in from the player towards the destination, rather than appearing at once. Set to `false` for an instant route. |
| `drawSpeed` | `1800` | How fast it is drawn in, in metres per second. Higher finishes sooner. |
| `drawEase` | `"inOutQuad"` | How the drawing accelerates. The accepted names are listed under [Camera](https://docs.elementlabs.net/products/3d-pause-menu/configuration/map-camera.md). |

When a route is rebuilt while the player is moving, only the part that changed is animated. The
section already drawn stays where it is.

## Example

A thinner, faster, orange route:

```jsonc theme={null}
{
  "namespace": "map-route",
  "configVersion": 1,
  "scope": "client",
  "values": {
    "thickness": 8.0,
    "color": [246, 158, 0, 255],
    "drawSpeed": 3000
  }
}
```

Turning the animation off entirely:

```jsonc theme={null}
{
  "namespace": "map-route",
  "configVersion": 1,
  "scope": "client",
  "values": {
    "animate": false
  }
}
```

## Applying changes

```text theme={null}
restart element_3d_pausemenu
```

## Limits

| Key | Stay within | Why |
| - | - | - |
| `color` | Four values, each `0` to `255` | A shorter list or a value outside the range produces a colour you did not intend. The fourth value is opacity: `0` makes the route invisible. |
| `thickness` | Roughly `4` to `24` | Below that the route is hard to follow; above it, it covers the streets around it. |
| `maxWidth` | Roughly `5` to `40` | This is metres in the world. A large value makes the route very wide when the camera is high. |
| `drawSpeed` | Roughly `500` to `5000` | Below that, a long route takes many seconds to appear. Above it, the animation is not visible. |

Setting `animate` to `false` makes `drawSpeed` and `drawEase` inactive; they are read but have
nothing to apply to.

## Related

* [Configuration](https://docs.elementlabs.net/products/3d-pause-menu/configuration/index.md)
* [Camera](https://docs.elementlabs.net/products/3d-pause-menu/configuration/map-camera.md): the easing names
* [How players use the menu](https://docs.elementlabs.net/products/3d-pause-menu/using-the-map.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.