Unity Physics & Navigation
Part of the Unity Skills plugin.
Unity Skills protocol (quick reference)
This plugin talks to the Unity Editor through a local REST server. Before the first skill call in a session:
GET /health— discover the server (it binds a port in8090–8100). ReadcurrentMode("approval"/"auto"/"bypass") andsurfaceProfile(full/guide/noSceneAuthoring) — confirmprojectNamematches the project you're editing.- Under
approvalmode, the first write to aFullAutoskill returnsMODE_RESTRICTEDand needs a user grant; underauto/bypasswrites execute directly.
dryRun gate: before executing any skill whose exact parameters you don't already hold, call POST /skill/<name>?mode=dryRun and iterate until the response says valid:true — never guess parameters from a skill name alone. Then execute the same call without ?mode=dryRun.
Batch execution: when touching 2+ objects, prefer POST /skills/batch ({"steps":[{"skill","args"}],"continueOnError":false}, up to 50 steps per call, also supports ?mode=dryRun) over repeated single-item calls.
Error codes:
| Code | Meaning |
|---|---|
MODE_RESTRICTED / MODE_FORBIDDEN |
Needs a user grant, or needs Bypass/Allowlist. |
SURFACE_EXCLUDED |
Hidden by the current surfaceProfile — a configuration boundary, not a failure; don't retry or route around it. |
MISSING_PARAM / TARGET_NOT_FOUND |
Bad or unresolvable arguments — dryRun for the schema, locate the target first. |
For the full protocol detail, error code catalog, and guide-mode manual-* docs, optionally install the unity-core plugin — it's not required, this summary covers what you need for this skill.
Modules in this skill
| Module | Mode | Description | Doc |
|---|---|---|---|
| physics | Mixed | Raycast/overlap/gravity | modules/physics/SKILL.md |
| navmesh | Mixed* | NavMesh bake/query | modules/navmesh/SKILL.md |
| terrain | FA | Terrain create/paint | modules/terrain/SKILL.md |
| probuilder | FA* | ProBuilder mesh edits | modules/probuilder/SKILL.md (+ MODELING_REFERENCE.md) |
Mode legend: SA = runs without grant in all modes, FA = needs grant under Approval, Mixed = check per-skill, * = contains auto-forbidden skills.
Routing
Skills are named <module>_<verb> (e.g. physics_raycast, navmesh_bake, terrain_paint_texture, probuilder_create_cube). NavMesh baking can be slow on large terrains — check for a long-running flag in the schema before calling.
Open the matching module doc before calling any skill whose exact parameters you don't already hold — dryRun first.