SuperAPI AI Directory

unity-navmesh

General & other

View repository

Updated 10-16 03:42

About this skill

Before calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.

Triggers

  • Setting up navigation
  • Baking a NavMesh
  • Testing agent paths
  • Tuning bake parameters
  • Set up navigation, bake NavMesh, test Agent paths, adjust bake parameters
NavMesh Skills

Bake / clear NavMesh data, calculate paths, sample positions, and configure NavMeshAgent / NavMeshObstacle components.

Operating Mode

  • Approval: query-type skills (navmesh_calculate_path / navmesh_sample_position / navmesh_get_settings, source marked SkillMode.SemiAuto) execute directly; change-type (navmesh_bake / navmesh_add_agent / navmesh_set_agent / navmesh_add_obstacle / navmesh_set_obstacle / navmesh_set_area_cost, marked SkillMode.FullAuto) require user grant; after grant, the server executes in one step and returns the result.
  • Auto / Bypass: all skills not blocked by the forbidden list execute directly.
  • This modulecontains Delete-type skills:navmesh_clear marked as SkillOperation.Delete, which will be IsForbiddenInSemi statically intercepted — only Bypass mode or adding it to Allowlist allows invocation.
  • navmesh_bake synchronously blocks the main thread; large scenes may be very slow, remind the user before calling.

DO NOT (common hallucinations):

  • navmesh_create does not exist → use navmesh_bake to generate NavMesh
  • navmesh_add_agent_component / navmesh_set_agent_speed do not exist → use navmesh_add_agent + navmesh_set_agent (convenience wrappers), or component_add/component_set_property for full control
  • NavMesh must be re-baked after scene geometry changes

Routing:

  • For NavMeshAgent/NavMeshObstacle components → use component module
  • For path calculation → navmesh_calculate_path (this module)

Skills

navmesh_bake

Bake the NavMesh (Synchronous). Warning: blocks the Editor, can be slow on large scenes. Parameters: None.

navmesh_clear

Clear the NavMesh data. Parameters: None.

navmesh_calculate_path

Calculate a path between two points. Parameters:

  • startX, startY, startZ (float): Start position.
  • endX, endY, endZ (float): End position.
  • areaMask (int, optional): NavMesh area mask.

Returns: { status, valid, distance, cornerCount, corners }

  • status: NavMeshPathStatus string (PathComplete / PathPartial / PathInvalid)
  • valid: true only when status == "PathComplete"
  • distance: total path length (0 for invalid paths)
  • cornerCount: number of corner points in corners
  • corners: array of {x, y, z} waypoints (empty when no path)

navmesh_add_agent

Add NavMeshAgent component to an object.

Parameter Type Required Default Description
name string No null GameObject name
instanceId int No 0 GameObject instance ID
path string No null GameObject hierarchy path

Returns: { success, gameObject }

navmesh_set_agent

Set NavMeshAgent properties (speed, acceleration, radius, height, stoppingDistance).

Parameter Type Required Default Description
name string No null GameObject name
instanceId int No 0 GameObject instance ID
path string No null GameObject hierarchy path
speed float No null Agent movement speed
acceleration float No null Agent acceleration
angularSpeed float No null Agent angular speed
radius float No null Agent radius
height float No null Agent height
stoppingDistance float No null Distance to stop before target

Returns: { success, gameObject, speed, radius }

navmesh_add_obstacle

Add NavMeshObstacle component to an object.

Parameter Type Required Default Description
name string No null GameObject name
instanceId int No 0 GameObject instance ID
path string No null GameObject hierarchy path
carve bool No true Enable carving

Returns: { success, gameObject, carving }

navmesh_set_obstacle

Set NavMeshObstacle properties (shape, size, carving).

Parameter Type Required Default Description
name string No null GameObject name
instanceId int No 0 GameObject instance ID
path string No null GameObject hierarchy path
shape string No null Obstacle shape (e.g. Box, Capsule)
sizeX float No null Obstacle size X
sizeY float No null Obstacle size Y
sizeZ float No null Obstacle size Z
carving bool No null Enable carving

Returns: { success, gameObject, shape, carving }

navmesh_sample_position

Find nearest point on NavMesh.

Parameter Type Required Default Description
x float Yes - Source position X
y float Yes - Source position Y
z float Yes - Source position Z
maxDistance float No 10 Maximum search distance

Returns: { success, found, point: { x, y, z }, distance }

navmesh_set_area_cost

Set area traversal cost.

Parameter Type Required Default Description
areaIndex int Yes - NavMesh area index
cost float Yes - Traversal cost value

Returns: { success, areaIndex, cost }

navmesh_get_settings

Get NavMesh build settings.

Parameters: None.

Returns: { success, agentRadius, agentHeight, agentSlope, agentClimb }


Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.