Skip to content
unity-probuilder logo

unity-probuilder

ProBuilder editable mesh modeling for blockout — create shapes, extrude/bevel/subdivide, weld/move vertices, paint per-face materials. Requires com.unity.probuilder. Exact signatures via GET /skills/schema.

SKILL.md

Full skill instructions

Unity ProBuilder Skills

Use this module for editable ProBuilder meshes, not regular primitive GameObjects. It is best for blockout, level geometry, and procedural mesh refinement.

Requires: com.unity.probuilder package. Batch-first: For scene blockout or level generation, prefer probuilder_create_batch when creating 2+ shapes.

Guardrails

Operating Mode (v1.9 three-tier):

  • Approval (default): query skills (e.g. probuilder_get_info, probuilder_get_vertices) run directly. Create/​modify skills are FullAuto — call once, get MODE_RESTRICTED, run the grant protocol; a successful /​permission/​grant executes the skill server-side and returns the result in the same response.
  • Auto / Bypass: SemiAuto and FullAuto run directly.
  • Auto-forbidden in this module: probuilder_combine_meshes (SkillOperation.Modify | Delete, the Delete bit triggers NeverInSemi). It is callable only under Bypass mode or after the user adds it to the Allowlist; the grant flow returns MODE_FORBIDDEN. Note probuilder_delete_faces is Operation = SkillOperation.Modify only and remains grantable under Approval/​Auto.
  • When com.unity.probuilder is missing, every skill returns a package-missing diagnostic instead of executing.

DO NOT (common hallucinations):

  • probuilder_create_mesh does not exist -> use probuilder_create_shape
  • probuilder_edit_face does not exist -> use the specific face skills such as probuilder_extrude_faces, probuilder_delete_faces, probuilder_merge_faces
  • probuilder_set_material and probuilder_set_face_material are different -> whole object vs selected faces
  • Regular meshes do not become ProBuilder meshes automatically
  • Mesh rebuild calls (ToMesh() + Refresh()) are already handled by the skills. Do not invent a manual rebuild step

Routing:

  • For ordinary primitive objects without editable topology -> use gameobject_create
  • For material asset creation or shader work -> use material
  • For large blockout generation -> combine this module with material and light, but keep geometry creation here

Object Targeting

Most edit/​query skills accept one of:

  • name
  • instanceId
  • path

Prefer instanceId when multiple scene objects share the same name.

Skills

Create and Batch

SkillUseKey parameters
probuilder_create_shapeCreate a parametric ProBuilder shapeshape, name?, x/​y/​z?, sizeX/​Y/​Z?, rotX/​Y/​Z?
probuilder_create_batchCreate multiple shapes in one callitems, defaultParent?

Supported shape values: Cube, Sphere, Cylinder, Cone, Torus, Prism, Arch, Pipe, Stairs, Door, Plane.

Face and Edge Editing

SkillUseKey parameters
probuilder_extrude_facesExtrude selected facestarget, faceIndexes?, distance?, method?
probuilder_delete_facesDelete faces by indextarget, faceIndexes
probuilder_merge_facesMerge faces into onetarget, faceIndexes?
probuilder_flip_normalsReverse face directiontarget, faceIndexes?
probuilder_detach_facesSplit faces from shared verticestarget, faceIndexes?, deleteSourceFaces?
probuilder_bevel_edgesChamfer edgestarget, edgeIndexes?, amount?
probuilder_extrude_edgesExtrude edges outwardtarget, edgeIndexes, distance?, extrudeAsGroup?
probuilder_bridge_edgesBridge two edges with new facetarget, edgeA, edgeB, allowNonManifold?

Mesh, Vertex, UV, Material

SkillUseKey parameters
probuilder_subdivideAdd detail by subdivisiontarget, faceIndexes?
probuilder_conform_normalsMake normals point consistently outwardtarget, faceIndexes?
probuilder_move_verticesOffset vertices by deltatarget, vertexIndexes, deltaX/​Y/​Z?
probuilder_set_verticesSet absolute vertex positionstarget, vertices
probuilder_get_verticesQuery vertex positionstarget, vertexIndexes?, verbose?
probuilder_weld_verticesMerge close verticestarget, vertexIndexes, radius?
probuilder_project_uvBox-project UVstarget, faceIndexes?, channel?
probuilder_set_face_materialAssign material to facestarget, faceIndexes?, materialPath?, submeshIndex?
probuilder_set_materialAssign whole-object material or quick colortarget, materialPath?, r/​g/​b/​a?
probuilder_combine_meshesMerge multiple meshesnames

Query and Pivot

SkillUseKey parameters
probuilder_get_infoGet face/​vertex/​material statstarget
probuilder_center_pivotCenter or reposition pivottarget, worldX/​Y/​Z?

Blockout Workflow

  1. Create major volumes with probuilder_create_batch.
  2. Verify traversal and gameplay scale before adding detail.
  3. Refine surfaces with face/​edge operations.
  4. Use vertex edits for ramps, slopes, and irregular silhouettes.
  5. Apply quick colors or real materials after layout stabilizes.

Minimal Example

import unity_skills

unity_skills.call_skill("probuilder_create_batch", items=[
    {"shape": "Cube", "name": "Ground", "sizeX": 20, "sizeY": 0.5, "sizeZ": 12, "y": -0.25},
    {"shape": "Cube", "name": "Platform_A", "sizeX": 3, "sizeY": 0.3, "sizeZ": 3, "x": 4, "y": 1.5},
    {"shape": "Cube", "name": "Ramp", "sizeX": 3, "sizeY": 1, "sizeZ": 5, "x": 8, "y": 0.5}
])

unity_skills.call_skill("probuilder_move_vertices",
    name="Ramp",
    vertexIndexes="4,5",
    deltaY=-0.8
)

unity_skills.call_skill("probuilder_set_material",
    name="Platform_A",
    r=0.2, g=0.6, b=1.0
)

Important Notes

  1. ProBuilder objects keep editable topology through ProBuilderMesh.
  2. Use probuilder_get_info before face edits and probuilder_get_vertices before vertex edits.
  3. MeshCollider on physics-driven props must be convex.
  4. Quick color assignment is fine for prototype passes; use material assets for production.
  5. Package missing errors are expected if ProBuilder is not installed.

Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /​skills/​schema or unity_skills.get_skill_schema(), not by this file. Load MODELING_REFERENCE.md for scene design heuristics, furniture decomposition, detailed examples, and extended modeling tips.