Ara
Download

Search or run a command

Jump to a section or open an Ara link.

Component · navigation

NavLink

Authored off-mesh connection in world space (jump, ladder or scripted passage).

Fields

id

u32
Stable nonzero connection ID.
default 0

start

vec3
Start endpoint in world space.
default [0,0,0]m

end

vec3
End endpoint in world space.
default [0,0,0]m

radius

f32
Maximum horizontal attachment distance.
default 0.5m0.001 – 100

area

u8
Traversal area index, from 0 through 15.
default 00 – 15

bidirectional

bool
Whether traversal is allowed in both directions.
default true

enabled

bool
Whether the connection is available to the baker.
default true
How agents traverse it: drives traversal motion, gating and animation hooks.
default "walk"

One ofwalkjumpladderdoorelevatorteleport

duration

f32
Traversal time in seconds; 0 derives it from length and agent speed.
default 0s0 – 600

arcHeight

f32
Jump apex above the straight start-end line, in metres (jumps only).
default 0.5m0 – 100

Usage

Every edit is an undoable command: from the CLI as below, or the same JSON from an agent over MCP. See component.add and property.set.

Add it

ara do component.add -p entity=name:Crate -p component=NavLink --why "Add NavLink"

Set a field

ara do property.set -p entity=name:Crate -p path=NavLink.id -p value=0 --why "Tune NavLink"

In a scene document

{
  "NavLink": {
    "id": 0
  }
}

From C#

/// <summary>Set the traversal time of a jump link.</summary>
public static void UseNavLink(Entity entity, in Tick tick)
{
    ref var component = ref World.Get<NavLink>(entity);
    component.Duration = 0.6f;
}

From C#

Scripts read and write it with Get<NavLink>(); see the NavLink struct.