Best Practices and Common Mistakes
Best Practices
- Always test with target shaders.
- A/B bake MonoSH and SH before committing.
- Let practical lights define the scene.
- Avoid abusing Indirect Boost and Emissive Boost.
- Use reflection probes.
- Use VRC Light Volumes by RED_SIM for dynamic objects whenever possible, and keep light probes around mainly for backward compatibility with older avatars.
- Check avatar lighting in representative areas of the world.
- Check lightmap texture import settings.
- Profile VRAM and build size.
- Watch compression artifacts on lightmaps.
- Use higher resolution only where visible.
- Use Lightmap Groups to isolate hero areas, iteration zones, or compatibility boundaries when that actually improves workflow or atlas control.
- Use Texel Density and Resolution Control before globally raising quality across the whole world.
- Prefer VRC Light Volumes as the default for avatar lighting quality, and push users toward updated avatar shaders instead of treating light probes as an equal long-term option.
- Do not blindly use SH everywhere.
- Test in the actual target client, not only Scene View.
tip
Treat lightmap groups as a quality allocation tool. Spend resolution and advanced directional data where VRChat players will actually notice it.
Common Mistakes
| Mistake | Why it hurts | Better approach |
|---|---|---|
| Using SH everywhere without checking VRAM | Four-map lightmaps can get expensive quickly | Use SH where it proves visible value |
| Using non-compatible shaders with SH or RNM | Lighting may not display correctly | Test Bakery-compatible shaders early |
| Making dark scenes too bright with ambient | The scene loses shape and contrast | Use lower ambient fill and stronger local sources |
| Forgetting reflection probes | Glossy and reflective materials disconnect from the bake | Update probes after lighting changes |
| Overusing AO until the scene looks dirty | AO can crush contact areas and gradients | Keep AO subtle |
| Using emissive boost instead of tuned lights | The result can become noisy or visually confusing | Use Bakery lights or Light Meshes intentionally |
| Forgetting avatar or dynamic-object lighting | Dynamic elements can look pasted into the scene | Use VRC Light Volumes by RED_SIM whenever possible, with L2 probes as legacy fallback |
| Judging a bake only in Scene View | Editor view may not match the VRChat client | Test in the actual target environment |
| Compressing lightmaps too aggressively | Gradients and low-light color can break apart | Check compression artifacts in dark areas |
| Using too many high-resolution atlases | VRAM and load cost climb quickly | Reduce atlas count and scale low-priority surfaces down |
Final Recommendation
For most static realistic VRChat worlds, use Full Lighting + MonoSH + L2 probes.
For neon-heavy or color-rich scenes, test Full Lighting + SH.
For dynamic real-time lamp or specular needs, consider Shadowmask.
Downgrade to Dominant Direction when shader compatibility or VRAM becomes a problem.