Unity and VRChat Tools for World Building
A Creator Companion World project already includes the VRChat Worlds SDK, Udon tools, and ClientSim. Unity also includes grid snapping and Terrain features before any optional package is installed.
Add another tool only when its documented function matches the current task. This keeps package dependencies visible and makes later updates or removal easier to diagnose.
Start with the World template, built-in scene tools, and SDK testing features.
- Use Unity grid snapping and primitive objects to establish scale and layout.
- Add ProBuilder, Polybrush, or Terrain Tools only for the editing capability you need.
- Test interaction with ClientSim, then test the finished behavior in VRChat.
VRChat publishes the complete list of components that work in worlds. An editor extension can help author content, but runtime components outside VRChat's allowlist will not work after upload.
Tool directory
| Task | Tool | Installation source | What it provides |
|---|---|---|---|
| Align modular pieces | Unity grid snapping | Built into Unity | Grid, incremental, and vertex snapping for transforms |
| Block out or edit geometry | ProBuilder | Unity Package Manager: com.unity.probuilder |
In-scene mesh creation and editing, UV tools, vertex colours, and collider geometry |
| Sculpt and paint meshes | Polybrush | Unity Package Manager: com.unity.polybrush |
Mesh sculpting and smoothing, vertex-colour or texture painting, and prefab scattering |
| Create a landscape | Unity Terrain | Built into Unity | Terrain tiles, height sculpting, texture layers, trees, and detail painting |
| Extend Terrain authoring | Terrain Tools | Unity Package Manager: com.unity.terrain-tools |
Additional terrain brushes, filters, noise, heightmap, and texture-data workflows |
| Script world interactions | Udon Graph or UdonSharp | Included with the VRChat Worlds SDK | Visual Udon scripting or C# compiled to Udon Assembly |
| Test common world behavior | ClientSim | Included with the VRChat Worlds SDK | In-editor player controls, pickups, interactions, UI, stations, and Udon inspection |
| Add a specialised VRChat package | Curated VPM packages | Creator Companion | Community packages listed and reviewed through VRChat's curated directory |
The relevant Unity 2022.3 package documentation lists ProBuilder, Polybrush, and Terrain Tools as released packages for that editor line. Let Package Manager select a compatible release unless a project's documentation requires a specific version.
Layout: grid snapping
Unity's built-in snapping tools cover many modular-building tasks without another package.
Use:
- Control (Windows) or Command (macOS) while moving to snap by increments
- V while moving to snap a selected vertex to another vertex
- the grid and snap controls to configure move, rotate, and scale increments
Grid snapping works on grid axes. Vertex snapping works in any orientation and is useful when two meshes need to meet at a specific point.
Use Unity Shortcuts for VRChat Creators for the wider transform and Scene-view controls.
Blockout geometry: ProBuilder
ProBuilder creates and edits meshes inside Unity. It is useful for:
- floors, walls, stairs, corridors, and platforms
- rapid room and route blockouts
- custom collision geometry
- editing faces, edges, and vertices
- basic UV and vertex-colour work
Install it from Window > Package Manager > Unity Registry by searching for ProBuilder. Its package name is com.unity.probuilder.
Use ProBuilder for editable scene geometry and prototypes. Move final high-detail modelling to a dedicated modelling application when the asset requires a more complete modelling, rigging, or texturing workflow.
Mesh painting: Polybrush
Polybrush 1.1 is listed for Unity 2022.3 and operates on meshes rather than Unity Terrain. Its modes cover:
- sculpting vertices
- smoothing mesh surfaces
- painting vertex colours
- painting texture blends when the material supports them
- scattering prefabs across mesh surfaces
Install it from Unity Package Manager using com.unity.polybrush. Confirm the target mesh and material workflow before painting; vertex colours and texture blending only affect the result when the shader reads that data.
Polybrush is not a replacement for the Terrain painting tools.
Landscapes: Terrain and Terrain Tools
Unity's built-in Terrain system can create terrain tiles, sculpt height, paint Terrain Layers, place trees, and paint details.
Add the Terrain Tools package when you need its extended authoring features, including additional sculpting brushes, brush-mask filters, noise tools, or heightmap and terrain-texture data workflows.
Install Terrain Tools through Unity Package Manager. The Unity 2022.3 released-package list identifies it as com.unity.terrain-tools, with the 5.0 documentation line associated with Unity 2022.3.
Terrain authoring does not replace platform testing. Vegetation, textures, materials, lighting, and visible terrain area still affect the uploaded world's performance.
Interaction scripting: Udon Graph and UdonSharp
The Worlds SDK includes both supported Udon authoring paths:
| Authoring method | Use it for |
|---|---|
| Udon Graph | Visual node-and-wire scripting for interactions and straightforward logic |
| UdonSharp | C#-style scripts compiled to Udon Assembly |
Do not install a separate legacy UdonSharp package into a current Creator Companion World project. Current VRChat documentation states that UdonSharp is included in the Worlds SDK.
Use the Udon documentation for scripting guides and examples.
In-editor tests: ClientSim
ClientSim is part of the Worlds SDK and starts when a compatible world scene enters Play Mode. It can simulate common local behavior such as:
- player movement
- pickups and interactions
- UI and stations
- Udon variable inspection
- local-player behavior
ClientSim does not reproduce every part of the VRChat client or networking implementation. VRChat's documentation explicitly requires testing the world in VRChat before making it public.
Curated and community VPM packages
Creator Companion can install official, curated, community, and local user packages.
For curated packages:
- Open Creator Companion.
- Select the World project.
- Open Manage Project.
- Browse the current curated packages.
- Open the package's documentation and repository.
- Confirm its project type, Unity version, SDK compatibility, and license.
- Back up the project before installation.
The curated directory changes over time, so use VRChat's current list rather than an old package roundup.
A package being available through a repository does not make all of its runtime components valid for a world. Check the package documentation and VRChat's allowlisted world components.
Select a tool by task
| Current task | Start here | Add another package when |
|---|---|---|
| Align a modular room | Grid and vertex snapping | ProBuilder is needed to change the geometry itself |
| Build a playable blockout | Unity primitives and ProBuilder | The layout has been tested and needs a specialised authoring feature |
| Paint or deform a mesh | Polybrush | The mesh density and material support the intended brush mode |
| Create outdoor terrain | Built-in Terrain | Terrain Tools provides a required brush, filter, or data workflow |
| Add doors, pickups, or game logic | Udon Graph or UdonSharp | A maintained package supplies the exact supported system |
| Test interaction locally | ClientSim | The behavior also needs testing in the VRChat client |
| Add a community world system | Current curated directory and package docs | Its dependencies, components, license, and target platforms are verified |
Install and verify
Before installation:
- Back up the project or commit its current state.
- Record the package name and installed versions.
- Read the package's Unity, SDK, render-pipeline, and platform requirements.
- Confirm whether it adds only editor tooling or also adds runtime components.
- Use Unity Package Manager for UPM packages and Creator Companion for VPM packages.
After installation:
- wait for package resolution and compilation
- resolve the first new Console error before continuing
- check which project files and settings changed
- open the tool and complete its documented setup
- test a small representative object or scene
- run VRChat SDK validation
- test runtime behavior in ClientSim and VRChat where applicable
Remove a tool through its manager
Use Window > Package Manager > In Project to remove a direct UPM package. Unity disables removal when another package or feature set still requires it.
Use Creator Companion or documented VPM tooling for a VPM package. Do not delete installed package folders manually.
Files imported from a .unitypackage or Asset Store asset package live under Assets and require the publisher's uninstall instructions or a verified file review. They are not removed through the UPM dependency workflow.
ProBuilder or Polybrush does not appear in Package Manager.
Select Unity Registry, clear restrictive filters, and search the display name. If official Unity 2022.3 documentation supplies the package identifier, use Add package by name with that exact identifier.
Polybrush paints nothing on the mesh.
Confirm that a mesh object is selected and that the chosen mode has usable mesh data. Vertex-colour and texture-blend results also require a material shader that reads the painted values.
ClientSim works, but the uploaded world behaves differently.
ClientSim does not reproduce every VRChat client and networking behavior. Reproduce the test in a VRChat build and use the client result as the final runtime check.
A package added a component that disappears after upload.
Compare the component with VRChat's current world allowlist. Components outside the allowlist do not work in uploaded worlds, even when they function inside the Unity Editor.
The project broke after installing several tools.
Stop changing packages, capture the first Console error, and restore the backed-up package state. Reinstall one required tool at a time and test after each installation.
A tutorial requires ProGrids.
ProGrids belongs to older Unity workflows. Reproduce the required alignment with Unity 2022.3's built-in grid, incremental, and vertex snapping controls before adding a legacy package dependency.
Continue learning
- Install and Remove Unity Add-ons Safely
- Unity Package Manager Basics
- ProBuilder
- Polybrush
- Create and Sculpt Terrain for VRChat Worlds
- VRChat World Building