Unity ProBuilder Skills
Requirements
com.unity.probuilder (≥ 6.0). If missing, install via Unity_PackageManager_ExecuteAction with operation=Add, package=com.unity.probuilder, version=6.0.9.
When to Use
Use this module for editable ProBuilder meshes, not regular primitive GameObjects. It is best for blockout, level geometry, and procedural mesh refinement.
Batch-first: For scene blockout or level generation, prefer probuilder_create_batch when creating 2+ shapes.
Common Mistakes
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:
Prefer instanceId when multiple scene objects share the same name.
Quick Reference
Create and Batch
| Skill |
Use |
Key parameters |
probuilder_create_shape |
Create a parametric ProBuilder shape |
shape, name?, x/y/z?, sizeX/Y/Z?, rotX/Y/Z? |
probuilder_create_batch |
Create multiple shapes in one call |
items, defaultParent? |
Supported shape values: Cube, Sphere, Cylinder, Cone, Torus, Prism, Arch, Pipe, Stairs, Door, Plane.
Face and Edge Editing
| Skill |
Use |
Key parameters |
probuilder_extrude_faces |
Extrude selected faces |
target, faceIndexes?, distance?, method? |
probuilder_delete_faces |
Delete faces by index |
target, faceIndexes |
probuilder_merge_faces |
Merge faces into one |
target, faceIndexes? |
probuilder_flip_normals |
Reverse face direction |
target, faceIndexes? |
probuilder_detach_faces |
Split faces from shared vertices |
target, faceIndexes?, deleteSourceFaces? |
probuilder_bevel_edges |
Chamfer edges |
target, edgeIndexes?, amount? |
probuilder_extrude_edges |
Extrude edges outward |
target, edgeIndexes, distance?, extrudeAsGroup? |
probuilder_bridge_edges |
Bridge two edges with new face |
target, edgeA, edgeB, allowNonManifold? |
Mesh, Vertex, UV, Material
| Skill |
Use |
Key parameters |
probuilder_subdivide |
Add detail by subdivision |
target, faceIndexes? |
probuilder_conform_normals |
Make normals point consistently outward |
target, faceIndexes? |
probuilder_move_vertices |
Offset vertices by delta |
target, vertexIndexes, deltaX/Y/Z? |
probuilder_set_vertices |
Set absolute vertex positions |
target, vertices |
probuilder_get_vertices |
Query vertex positions |
target, vertexIndexes?, verbose? |
probuilder_weld_vertices |
Merge close vertices |
target, vertexIndexes, radius? |
probuilder_project_uv |
Box-project UVs |
target, faceIndexes?, channel? |
probuilder_set_face_material |
Assign material to faces |
target, faceIndexes?, materialPath?, submeshIndex? |
probuilder_set_material |
Assign whole-object material or quick color |
target, materialPath?, r/g/b/a? |
probuilder_combine_meshes |
Merge multiple meshes |
names |
Query and Pivot
| Skill |
Use |
Key parameters |
probuilder_get_info |
Get face/vertex/material stats |
target |
probuilder_center_pivot |
Center or reposition pivot |
target, worldX/Y/Z? |
Spatial Reference
Positioning Rules
y is the center of the shape, not its bottom.
- Floor top surface at
0 with sizeY=0.3 means y = -0.15.
- To stack B on A:
B.y = A.y + A.sizeY/2 + B.sizeY/2.
- Pillars should usually use
y = height/2.
Human Scale Reference
| Reference |
Typical size |
Use for |
| Standing person |
1.8m tall |
Doors >=2.2m, ceilings >=2.5m |
| Shoulder width |
0.5m |
Corridors >=1.5m, doors >=0.9m |
| Single step |
0.18m rise / 0.28m run |
Stairs |
| Single room |
4x4m |
Interior planning |
| Story height |
3m |
Multi-story spaces |
Common Modeling Patterns
| Pattern |
Typical setup |
| Floor |
sizeY = 0.2-0.5, wide X/Z |
| Wall |
thin depth (0.2-0.3), tall Y |
| Pillar |
Cylinder, small X/Z, y = height/2 |
| Ramp |
Cube + vertex edits |
| Staircase |
Stairs, sizeY = total rise, sizeZ = total run |
| Bridge |
thin Cube, aligned to connected platforms |
| Room |
floor + ceiling + 4 walls |
Furniture Decomposition
Real props should rarely be a single box. Split them into structural parts.
| Furniture |
Main parts |
| Desk |
tabletop + 4 legs |
| Chair |
seat + 4 legs + backrest |
| Shelf |
2 sides + shelves + optional back |
| Bed |
mattress + frame + headboard |
Typical furniture sizes: desk 1.2x0.6x0.75m, chair seat 0.45x0.45x0.45m (total 0.85m height), bookshelf 0.8x0.3x1.8m.
Blockout Workflow
- Create major volumes with
probuilder_create_batch.
- Verify traversal and gameplay scale before adding detail.
- Refine surfaces with face/edge operations.
- Use vertex edits for ramps, slopes, and irregular silhouettes.
- Apply quick colors or real materials after layout stabilizes.
C# Templates
Recipe path rule: ../../recipes/probuilder/<command>.md
See ../../recipes/probuilder/README.md for the full command index and per-command Unity_RunCommand C# templates.
Important Notes
- ProBuilder objects keep editable topology through
ProBuilderMesh.
- Use
probuilder_get_info before face edits and probuilder_get_vertices before vertex edits.
- MeshCollider on physics-driven props must be convex.
- Quick color assignment is fine for prototype passes; use material assets for production.
- Package missing errors are expected if ProBuilder is not installed.
1---2name: unity-probuilder3description: Use when users want to create ProBuilder shapes, extrude faces, bevel edges, subdivide meshes, or perform procedural mesh operations. Requires com.unity.probuilder package.4---56# Unity ProBuilder Skills78## Requirements910- `com.unity.probuilder` (≥ 6.0). If missing, install via `Unity_PackageManager_ExecuteAction` with `operation=Add`, `package=com.unity.probuilder`, `version=6.0.9`.1112## When to Use1314Use this module for editable ProBuilder meshes, not regular primitive GameObjects. It is best for blockout, level geometry, and procedural mesh refinement.1516> **Batch-first**: For scene blockout or level generation, prefer `probuilder_create_batch` when creating `2+` shapes.1718## Common Mistakes1920**DO NOT** (common hallucinations):21- `probuilder_create_mesh` does not exist -> use `probuilder_create_shape`22- `probuilder_edit_face` does not exist -> use the specific face skills such as `probuilder_extrude_faces`, `probuilder_delete_faces`, `probuilder_merge_faces`23- `probuilder_set_material` and `probuilder_set_face_material` are different -> whole object vs selected faces24- Regular meshes do not become ProBuilder meshes automatically25- Mesh rebuild calls (`ToMesh()` + `Refresh()`) are already handled by the skills. Do not invent a manual rebuild step2627**Routing**:28- For ordinary primitive objects without editable topology -> use `gameobject_create`29- For material asset creation or shader work -> use `material`30- For large blockout generation -> combine this module with `material` and `light`, but keep geometry creation here3132## Object Targeting3334Most edit/query skills accept one of:35- `name`36- `instanceId`37- `path`3839Prefer `instanceId` when multiple scene objects share the same name.4041## Quick Reference4243### Create and Batch4445| Skill | Use | Key parameters |46|-------|-----|----------------|47| `probuilder_create_shape` | Create a parametric ProBuilder shape | `shape`, `name?`, `x/y/z?`, `sizeX/Y/Z?`, `rotX/Y/Z?` |48| `probuilder_create_batch` | Create multiple shapes in one call | `items`, `defaultParent?` |4950Supported `shape` values: `Cube`, `Sphere`, `Cylinder`, `Cone`, `Torus`, `Prism`, `Arch`, `Pipe`, `Stairs`, `Door`, `Plane`.5152### Face and Edge Editing5354| Skill | Use | Key parameters |55|-------|-----|----------------|56| `probuilder_extrude_faces` | Extrude selected faces | target, `faceIndexes?`, `distance?`, `method?` |57| `probuilder_delete_faces` | Delete faces by index | target, `faceIndexes` |58| `probuilder_merge_faces` | Merge faces into one | target, `faceIndexes?` |59| `probuilder_flip_normals` | Reverse face direction | target, `faceIndexes?` |60| `probuilder_detach_faces` | Split faces from shared vertices | target, `faceIndexes?`, `deleteSourceFaces?` |61| `probuilder_bevel_edges` | Chamfer edges | target, `edgeIndexes?`, `amount?` |62| `probuilder_extrude_edges` | Extrude edges outward | target, `edgeIndexes`, `distance?`, `extrudeAsGroup?` |63| `probuilder_bridge_edges` | Bridge two edges with new face | target, `edgeA`, `edgeB`, `allowNonManifold?` |6465### Mesh, Vertex, UV, Material6667| Skill | Use | Key parameters |68|-------|-----|----------------|69| `probuilder_subdivide` | Add detail by subdivision | target, `faceIndexes?` |70| `probuilder_conform_normals` | Make normals point consistently outward | target, `faceIndexes?` |71| `probuilder_move_vertices` | Offset vertices by delta | target, `vertexIndexes`, `deltaX/Y/Z?` |72| `probuilder_set_vertices` | Set absolute vertex positions | target, `vertices` |73| `probuilder_get_vertices` | Query vertex positions | target, `vertexIndexes?`, `verbose?` |74| `probuilder_weld_vertices` | Merge close vertices | target, `vertexIndexes`, `radius?` |75| `probuilder_project_uv` | Box-project UVs | target, `faceIndexes?`, `channel?` |76| `probuilder_set_face_material` | Assign material to faces | target, `faceIndexes?`, `materialPath?`, `submeshIndex?` |77| `probuilder_set_material` | Assign whole-object material or quick color | target, `materialPath?`, `r/g/b/a?` |78| `probuilder_combine_meshes` | Merge multiple meshes | `names` |7980### Query and Pivot8182| Skill | Use | Key parameters |83|-------|-----|----------------|84| `probuilder_get_info` | Get face/vertex/material stats | target |85| `probuilder_center_pivot` | Center or reposition pivot | target, `worldX/Y/Z?` |8687## Spatial Reference8889### Positioning Rules9091- `y` is the **center** of the shape, not its bottom.92- Floor top surface at `0` with `sizeY=0.3` means `y = -0.15`.93- To stack B on A: `B.y = A.y + A.sizeY/2 + B.sizeY/2`.94- Pillars should usually use `y = height/2`.9596### Human Scale Reference9798| Reference | Typical size | Use for |99|----------|--------------|---------|100| Standing person | `1.8m` tall | Doors `>=2.2m`, ceilings `>=2.5m` |101| Shoulder width | `0.5m` | Corridors `>=1.5m`, doors `>=0.9m` |102| Single step | `0.18m` rise / `0.28m` run | Stairs |103| Single room | `4x4m` | Interior planning |104| Story height | `3m` | Multi-story spaces |105106### Common Modeling Patterns107108| Pattern | Typical setup |109|--------|----------------|110| Floor | `sizeY = 0.2-0.5`, wide X/Z |111| Wall | thin depth (`0.2-0.3`), tall Y |112| Pillar | `Cylinder`, small X/Z, `y = height/2` |113| Ramp | `Cube` + vertex edits |114| Staircase | `Stairs`, `sizeY = total rise`, `sizeZ = total run` |115| Bridge | thin Cube, aligned to connected platforms |116| Room | floor + ceiling + 4 walls |117118### Furniture Decomposition119120Real props should rarely be a single box. Split them into structural parts.121122| Furniture | Main parts |123|----------|------------|124| Desk | tabletop + 4 legs |125| Chair | seat + 4 legs + backrest |126| Shelf | 2 sides + shelves + optional back |127| Bed | mattress + frame + headboard |128129Typical furniture sizes: desk `1.2x0.6x0.75m`, chair seat `0.45x0.45x0.45m` (total `0.85m` height), bookshelf `0.8x0.3x1.8m`.130131## Blockout Workflow1321331. Create major volumes with `probuilder_create_batch`.1342. Verify traversal and gameplay scale before adding detail.1353. Refine surfaces with face/edge operations.1364. Use vertex edits for ramps, slopes, and irregular silhouettes.1375. Apply quick colors or real materials after layout stabilizes.138139## C# Templates140141Recipe path rule: `../../recipes/probuilder/<command>.md`142143See [../../recipes/probuilder/README.md](../../recipes/probuilder/README.md) for the full command index and per-command `Unity_RunCommand` C# templates.144145## Important Notes1461471. ProBuilder objects keep editable topology through `ProBuilderMesh`.1482. Use `probuilder_get_info` before face edits and `probuilder_get_vertices` before vertex edits.1493. MeshCollider on physics-driven props must be convex.1504. Quick color assignment is fine for prototype passes; use material assets for production.1515. Package missing errors are expected if ProBuilder is not installed.