# xrOrigin

> Talos next · Since next

Where XR's tracking space sits in the world (a headset, or the run command's `--xr-sim`): head, hands and controllers are placed relative to this entity.

Parent it to a vehicle and the player rides with it, the same frame; move or turn it from a script to align a cockpit. One per scene: the first is used. Without one, the tracking space sits at the game camera, turned by its yaw. See docs/status/xr-sim.md.

Use it in a scene entity's `components` list as `{ "type": "xrOrigin", … }`. The contract writes the fields flat and refuses unknown keys.

## Fields

| Field | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| `mode` | `XrTrackingMode` | no |  | `seated`, `standing` | `seated` (default): the headset's start pose is the eye, `eyeHeight` above this entity, and recentering puts the eye back there. `standing`: this entity is the floor of the play area and the head is where the headset tracks it above that floor. |
| `eyeHeight` | `number` | no | `1` |  | Seated: how far above this entity the eye sits, metres, 0.5 to 2.5. Default 1.2. Ignored standing. |
