Loading...
Loading...
VRChat world building - setup, lighting, optimization, limits
npx skill4agent add alexanderstephenthompson/claude-hub vrc-worldsvrc-udonunity-csharp| Metric | Excellent | Good | Medium |
|---|---|---|---|
| Triangles | 50,000 | 100,000 | 200,000 |
| Batches | 50 | 100 | 200 |
| Materials | 25 | 50 | 75 |
| Lights (realtime) | 0 | 1 | 2 |
| Metric | Excellent | Good | Medium |
|---|---|---|---|
| Triangles | 500,000 | 1,000,000 | 2,000,000 |
| Batches | 100 | 200 | 400 |
| Materials | 50 | 100 | 200 |
| Lights (realtime) | 2 | 4 | 8 |
World
├── Environment
│ ├── Static (mark as static)
│ │ ├── Ground
│ │ ├── Buildings
│ │ └── Props
│ └── Dynamic
│ └── Interactive objects
├── Lighting
│ ├── Directional Light (baked or mixed)
│ ├── Light Probes
│ └── Reflection Probes
├── Audio
│ └── Audio sources
├── VRChat
│ ├── VRCWorld (descriptor)
│ ├── Spawn Points
│ └── Mirrors/Portals
└── Udon
└── Scripts and behaviorsSpawn Checklist:
- Multiple spawn points (avoid stacking)
- Clear floor (no obstacles)
- Good lighting (players see themselves)
- Mirror nearby (avatar check)
- Safe area (no hazards)
- Interesting view (sets the mood)1. Set all lights to "Baked"
2. Mark static geometry as "Contribute GI" + "Reflection Probe Static"
3. Place Light Probes for dynamic objects
4. Place Reflection Probes for shiny surfaces
5. Bake with GPU Lightmapper
6. Delete realtime lights or set to "Not Important"1. Mark large static objects as "Occluder Static"
2. Mark all static objects as "Occludee Static"
3. Window > Rendering > Occlusion Culling
4. Set appropriate cell sizes
5. Bake
6. Test with Occlusion visualization| Anti-Pattern | Problem | Fix |
|---|---|---|
| Realtime lights on Quest | Tanks performance | Bake all lighting |
| No light probes | Dynamic objects are black | Add light probe groups |
| Single spawn point | Players stack on join | Multiple spread spawns |
| Unbaked reflections | Expensive or broken | Use baked reflection probes |
| No LODs on props | Full detail at distance | Add LOD groups |
| Post-processing on Quest | Not supported, ignored | PC-only or remove |
references/lighting-baking.mdassets/world-upload-checklist.md