NavMesh Build

Build a walkable navigation mesh from geometry.

What it does

Turns geometry into a walkable navigation mesh: a simplified polygon surface that pathfinding searches over. The geometry is voxelised, the walkable area is shrunk inward by the agent's radius so agents do not clip through walls, then the walkable boundary is segmented and extracted as a mesh.

The result is registered under a NavMesh name, so any Pathfind node can look it up and query routes across it. The original geometry passes through the Geometry Out pin unchanged.

When to use it

ParameterTypeDefaultWhat it does
geometryCollection—Mesh geometry to convert into a navigation mesh.
mesh_idString"default"NavMesh name — Pathfind nodes reference this to query the mesh.
agent_radiusNumber0.600Agent radius for navmesh erosion
agent_heightNumber2Agent height for clearance checks
max_slopeNumber45Maximum slope angle (degrees) for walkable surfaces
max_climbNumber0.900Maximum step height for stairs/curbs
resolutionNumber64Grid resolution per axis for voxelization
bounds_sizeNumber100Size of the voxelization bounding box
opacityNumber1Layer opacity (0 = transparent, 1 = opaque). Editable, wirable, keyframable.

Gotchas

Agent Radius does more than describe the agent: it erodes the walkable surface inward. Raise it for a wide agent and narrow gaps and doorways stop being walkable.

The navmesh is keyed by NavMesh Name, not by node identity. If two NavMesh Build nodes share a name, the later one to cook overwrites the earlier one's registration. Give each distinct navmesh its own name.

Bounds Size sets the voxelisation box the geometry is fit into. Geometry larger than the bounds is clipped from the navmesh. Raise Bounds Size, and Resolution to keep voxel detail, to match the level's scale.

Worked example

  1. Wire the level geometry into Geometry.

  2. Set NavMesh Name to something to reference later, e.g. main_level.

  3. Set Agent Radius and Agent Height to match the character or vehicle that will walk the mesh.

  4. Adjust Max Slope and Max Climb so stairs and gentle ramps stay walkable while steep terrain is excluded.

  5. Raise Resolution and Bounds Size until the navmesh follows the geometry closely enough, watching Polygon Count and Vertex Count as a sanity check.

  6. Add a Pathfind node with the same NavMesh Name to query routes across the mesh.

See also

Pathfind · Physics World · Rigid Body Sim · Geometry (meshes)