Install and Bake with Bakery GPU Lightmapper
Bakery GPU Lightmapper is a third-party GPU lightmapper for Unity. It uses an Nvidia GPU on the development PC to bake lighting into lightmaps; the finished lightmaps can be used on other target platforms.
Install Bakery, prepare one static mesh, add Bakery lights, and render a Full Lighting bake.
- Import Bakery from the Unity Asset Store and allow its scripts to compile.
- Mark scene geometry Static and confirm that it has non-overlapping lightmap UVs.
- Add a Bakery Direct Light, create a Bakery Skylight, and select Render in Bakery > Render Lightmap.
Use Bakery inside the Unity version currently supported by VRChat. VRChat worlds use Unity's Built-in Render Pipeline. For Android worlds, VRChat recommends baked lighting, light probes, and low lightmap resolution because real-time lights are expensive.
System Requirements
Bakery's requirements apply to the computer that performs the bake, not the device that runs the finished world.
| Requirement | Bakery documentation |
|---|---|
| Operating system | Windows 7 or newer |
| GPU | Nvidia Kepler architecture or newer; GeForce 650 or newer |
| Unity Editor | 64-bit Editor |
| Graphics driver | Current Nvidia Game Ready Driver |
| Unity versions | Tested from Unity 5.6 through Unity 6 and newer |
Resolve every Unity script compilation error before installing Bakery. The Bakery manual also recommends the Game Ready Driver rather than the Studio Driver.
Install Bakery
- Import Bakery through the Unity Asset Store.
- Keep all files selected for a first installation. The example content is optional for experienced users.
- Wait for Unity to import
Assets/BakeryandAssets/Editor/x64/Bakery. - If Unity displays an API upgrade dialog, back up the project and select Go Ahead.
- Wait for scripts to compile, then confirm that Bakery appears in Unity's main menu.
Prepare Geometry and Lightmap UVs
Bakery needs static geometry and non-overlapping UVs:
- Select the mesh and mark it Static.
- Check that the model has a non-overlapping UV channel for lightmapping.
- Bakery uses UV2 when it is present and falls back to UV1 when it is not.
- For an imported model without suitable lightmap UVs, enable Generate Lightmap UVs in its Model Import Settings and apply the change.
Overlapping or highly compressed lightmap UVs can produce dark areas, bright seams, leaks, and rasterizer errors. Bakery's Asset UV Processing tools can adjust padding for Unity-generated UVs when a project needs finer control.
Add a Bakery Direct Light
Bakery and Unity use separate light components. A normal Unity Directional Light does not become a Bakery light automatically.
- Select the scene's Unity Directional Light.
- Add a Bakery Direct Light component.
- Select Match lightmapped to real-time to copy appropriate settings from the Unity light.
For a sky contribution, select Bakery > Create > Skylight. In a Built-in Render Pipeline scene, Match scene skybox to this light can copy the current skybox into the Bakery Skylight.
Render the First Lightmap
Open Bakery > Render Lightmap. The Simple settings view is sufficient for most scenes.
- Keep Render mode set to Full Lighting for a complete direct and indirect bake from Bakery lights.
- Set an initial Texels per unit value. This controls the approximate number of lightmap texels assigned to each Unity unit.
- Set Max resolution to cap the size of each lightmap atlas.
- Choose the number of indirect-light Bounces and the light Samples.
- Select Render.
Bakery renders the currently open scenes. Its render window can also bake light probes and reflection probes when those options are enabled.
Choose a Render Mode
| Render mode | Use |
|---|---|
| Full Lighting | Bakes direct and indirect lighting from Bakery lights. This is the normal starting point for fully baked lighting. |
| Indirect | Bakes indirect lighting while direct lighting can remain real-time. Each Bakery light's Baked Contribution controls whether it contributes direct and indirect light or indirect light only. |
| Shadowmask | Combines baked shadow data with real-time lighting. Place matching Unity and Bakery light components on the same object and set Baked Contribution to Shadowmask and Indirect. |
Bakery also offers Distance Shadowmask, Subtractive, and Ambient Occlusion Only options. Use them only when the project specifically needs those lighting models.
Choose Directional Lightmap Data
Directional modes change the number and type of textures that Bakery generates.
| Directional mode | Output and compatibility |
|---|---|
| None | Stores lightmap color only. |
| Baked Normal Maps | Accounts for normal maps during the bake without generating a directional map. |
| Dominant Direction | Adds one directional map and works with most shaders. |
| RNM | Uses three HDR maps and has the highest texture-memory requirement. |
| SH | Uses four maps in total, with one HDR map, and has additional runtime overhead. |
| MonoSH | Adds one RGB map and requires a compatible shader. |
RNM, SH, and MonoSH require a Bakery-compatible shader or corresponding changes to a custom shader. Use None, Baked Normal Maps, or Dominant Direction unless the additional directional data has a clear visual benefit.
Preview Lightmap Density and Atlases
Use Bakery's previews before a long render:
- Checker Preview displays the texel size on scene geometry and shows how the scene is divided into lightmaps.
- Atlas Preview displays the planned atlas layouts before baking.
These previews make it easier to find small objects using excessive lightmap space, large surfaces with inconsistent texel density, and scenes producing more atlases than expected.
Validate the Bake
After rendering:
- Inspect walls, corners, modular seams, and thin geometry for UV artifacts.
- Confirm that static geometry receives the expected baked light.
- Check dynamic objects and avatars against light probes.
- Update reflection probes where reflective materials depend on them.
- Test the world through the VRChat SDK workflow on every target platform.
- For Android, keep lightmap resolution conservative and verify texture memory and visual quality on the target device.
Bakery's render warnings can identify invalid UVs, possible file overwrites, memory limits, and unsuitable sample counts. Read those warnings before dismissing them.
Video Walkthrough
Troubleshooting
Help! The Bakery menu is missing after import.
Open Unity's Console and resolve every script compilation error. Restart Unity or reimport Bakery after the project compiles cleanly. If Unity displays the API upgrade dialog, back up the project and allow the upgrade.
Help! Bakery reports that the device is not DirectX 11.
Bakery requires the Unity Editor to run with DirectX 11. In Player Settings, ensure Direct3D 11 is enabled and placed first in the Windows graphics API list, then restart the Editor.
Help! The bake runs out of GPU memory.
Close other GPU-heavy applications, reduce Texels per unit, lower lightmap-group resolution, or reduce selected objects' Scale in Lightmap. These changes reduce the lightmap data Bakery must keep in GPU memory.
Help! The bake contains black areas, seams, or rasterizer errors.
Check for non-overlapping UV2 data and enable Generate Lightmap UVs when an imported mesh needs it. Also check unrealistic light intensities and excessive mesh compression, which can damage lightmap UVs.
Help! Bakery creates too many or overly large lightmaps.
Use Checker Preview and Atlas Preview to find the cause. Reduce Texels per unit, lower Max resolution or lightmap-group resolution, and reduce Scale in Lightmap for objects that do not need detailed baked shadows.
Help! The Android build uses too much memory or shows poor lightmap quality.
Reduce lightmap resolution first and test the world on the target device. VRChat recommends low-resolution baked lightmaps and light probes for Android worlds. Platform texture compression can also change the result, so compare the Unity preview with an actual VRChat build.
Official References
- Bakery GPU Lightmapper: Manual
- Bakery GPU Lightmapper: Troubleshooting
- Unity Asset Store: Bakery - GPU Lightmapper
- Unity 2022.3 Manual: Lightmapping
- VRChat Creation: Currently Supported Unity Version
- VRChat Creation: VRChat SDK
- VRChat Creation: Android Content Optimization