navlink
Since 0.6
Use it in a scene entity's components list as { "type": "navlink", … }. The contract writes the fields flat and refuses unknown keys.
Fields
| Field | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
to | Vec3 | yes | The far end, relative to this entity's position and turned by its rotation (scale is ignored). Both ends are snapped to the navmesh within radius; a link with no navmesh near an end is left out and reported at load. | ||
kind | NavLinkKind | yes | jump, drop, generic | ||
bidirectional | boolean | no | false | Crossable from to back to this entity as well. Default false. | |
action | string | no | The input action a player-driven traverser performs at the start while moving toward the end — what the playtester presses. Default jump for a jump link, none otherwise. | ||
radius | number | no | 0 | How far from each end to look for navmesh to attach to, in metres. Default 0.6. | |
hold | number | no | 0 | Seconds the traverser holds action down from the start, the way a player holds jump for a full-height jump in a game that cuts the rise on an early release. Default 0.25; 0 is a one-tick tap. A finite number of seconds, 0 or more (navlink-invalid). |
Rules that can refuse it
Example
From the contract's tested fixture fixtures/contract/full20/scene.json#island-goal.
{
"type": "navlink",
"to": [
-3,
-0.5,
0
],
"kind": "drop"
}