← Back to Blog 3d-modeling

Lightmap Baking in Unity URP: Static Lighting Setup, Lightmap Settings, and Optimizing Bake Times for Game-Ready Assets

By BitSoul Team6/25/2026Updated 8/1/20267 min read54 views
Lightmap Baking in Unity URP: Static Lighting Setup, Lightmap Settings, and Optimizing Bake Times for Game-Ready Assets

Flat, lifeless environments kill immersion faster than any framerate drop. If your Unity URP scenes look plasticky and unlit, the problem is almost always that you're relying on real-time lights for geometry that never moves. Lightmap baking trades build time for runtime performance — and in URP it's the single highest-leverage technique for making static levels look polished and run fast on every platform.

Why Lightmaps Still Matter in Unity URP

Real-time global illumination sounds appealing, but for most games — especially mobile, VR, and mid-range PC titles — it's a budget you can't afford. Lightmaps pre-compute indirect bounce lighting, soft area shadows, and ambient occlusion into texture atlases that cost almost nothing to sample at runtime.

Unity's Universal Render Pipeline supports two lightmappers: the legacy CPU-based Enlighten and the newer Progressive Lightmapper (CPU and GPU variants). For almost all new projects you want Progressive. It gives you predictive bake times, live preview during baking, and support for the full Unity light feature set including area lights, light probes, and mixed lighting modes.

The key architectural rule: any mesh that doesn't animate should be marked Static (or at least Contribute GI). Walls, floors, ceiling geometry, props, debris — all of it. Dynamic objects (characters, vehicles, physics props) pick up indirect light from Light Probes placed around the scene, which are baked at the same time.

Lightmaps in URP behave identically to the Built-In pipeline's baked lighting — the same `Lightmap` asset type, the same `Lightmapping` API, the same `LightProbeGroup` component. The difference is in the post-processing and shader output: URP shaders read lightmap UVs from UV channel 1 (index 1, zero-based), which Unity auto-generates unless you supply them yourself.

Setting Up Static Objects and Lightmap UVs

Before you open the Lighting window, get your mesh setup right. Every static prop needs two UV sets:

Unity can generate UV1 automatically via Generate Lightmap UVs in the mesh importer, but the results are often wasteful. For hero assets — large floors, featured props, architectural elements — hand-unwrap UV1 in Blender and export it in the second UV channel. Go to Object Data Properties → UV Maps, add a second UV map named `UVMap.001` (or any name; Unity reads by index), and unwrap it manually. Maximize texel coverage for the surfaces players look at most.

Setting Up Static Objects and Lightmap UVs — illustrated

For smaller or repeated props, Unity's auto-generation is fine. In the importer settings (select the FBX or GLB in the Project window → Model tab), check Generate Lightmap UVs and expand the settings:

```
Hard Angle: 88
Angle Error: 8
Area Error: 15
Pack Margin: 4
```

Lower `Pack Margin` to 2 for small atlases; raise it to 8 if you see bleeding artefacts at seams. After changing any of these, click Apply and allow Unity to reimport — the baked result will change significantly if UV1 was wrong.

Mark objects as static by selecting them in the Hierarchy and ticking Static in the Inspector top-right. If you only want lightmap contribution and not navmesh/occlusion culling (which can be expensive to compute), click the dropdown arrow next to Static and enable only Contribute GI and Reflect Lightmaps.

Configuring the Lighting Settings Window

Open Window → Rendering → Lighting. The key settings live across three tabs: Scene, Environment, and Baked Lightmaps.

Scene tab — Lightmapping Settings:

| Setting | Recommended Value | Notes |
|---|---|---|
| Lightmapper | Progressive GPU | Use CPU if GPU VRAM < 4 GB |
| Lightmap Resolution | 20–40 texels/unit | Higher = better quality, longer bake |
| Lightmap Padding | 2 | Minimum to avoid cross-prop bleeding |
| Max Lightmap Size | 1024 or 2048 | 4096 rarely justified; increases memory |
| Compress Lightmaps | Enabled | BC6H on desktop, ASTC on mobile |
| Ambient Occlusion | Enabled | Max Distance 1–2m for interior |
| Final Gather | Disabled | Only needed for cinematic quality |
| Direct Samples | 32 | Raise to 64 if direct light is noisy |
| Indirect Samples | 512 | 256 for fast iteration, 1024 for final |
| Environment Samples | 256 | Controls sky GI quality |

The Lightmap Resolution setting is the single biggest quality/time lever. At 20 texels/unit on a 10m × 10m floor, that's a 200 × 200 texel patch — barely enough for soft shadows. For featured surfaces, boost to 40–80 by adding a Lightmap Parameters asset (right-click in Project → Create → Rendering → Lightmap Parameters) and assigning it per-renderer in the Mesh Renderer → Lightmapping → Lightmap Parameters field.

Disable Auto Generate in the Lighting window during development. Auto-bake triggers on every scene change and will destroy your iteration speed. Bake manually via Generate Lighting when you're ready.

Bake Modes and Light Types

Unity URP supports three light modes for lightmap baking:

Baked — light contributes only to lightmaps; has no runtime cost whatsoever. Use for fill lights, bounce fill, sky portals. The tradeoff: no real-time shadows on dynamic objects (they still receive light probe influence).

Mixed — light bakes indirect bounce and static shadows into lightmaps, but also renders real-time direct lighting on dynamic objects. This is the sweet spot for most games. Set your key directional light (sun) to Mixed to get soft baked shadows on terrain and static props while keeping hard real-time shadows on characters.

Realtime — contributes nothing to lightmaps. Reserve for player torches, muzzle flashes, vehicle headlights.

For interior spaces, place area lights (use Light → Area in the Hierarchy) mapped to window openings to simulate natural bounce from outside. Area lights are baked-only in Unity — they have no runtime fallback — but they produce visually accurate soft shadows that no spot or point light can replicate.

Light probes belong in every scene with dynamic objects. Create a Light Probe Group (GameObject → Light → Light Probe Group) and distribute probes throughout the playable volume: near floors, at doorways, in corners, and at ceiling height. The probe baker samples baked indirect and skylight at each probe position, so characters moving through the scene smoothly pick up the ambient colour from each area.

Optimizing Bake Times and Reducing Lightmap Atlases

Slow bakes are productivity killers. Here's a practical checklist for cutting bake time without sacrificing quality:

Optimizing Bake Times and Reducing Lightmap Atlases — illustrated

After baking, check the Lightmap Exposure in the Environment tab. If baked light looks washed out, your scene is over-exposed — reduce environment intensity or adjust the directional light intensity before re-baking. If it looks too dark, check that your materials have correct albedo values: pure black (0, 0, 0) materials absorb all light and produce no bounce.

A common pitfall: baking then moving a static object. If you reposition a Contribute GI mesh post-bake, its lightmap UV placement is now wrong and you'll see mismatched shadows. Bake after you finish layout, not before.

Ready-to-Use Assets on the BitSoul Marketplace

Building lightmapped environments from scratch means producing every static prop yourself — a time sink that slows shipping. The BitSoul marketplace stocks hundreds of Unity-compatible static environment assets with hand-authored UV1 lightmap channels and correct import settings out of the box. Filter by GLB or FBX, check the asset page for "Lightmap UVs included," and you skip the UV unwrap entirely.

Whether you're blocking out a dungeon, building a sci-fi corridor, or furnishing an open-world settlement, starting from battle-tested assets lets you go straight to bake configuration and scene composition.

Explore game-ready static props at https://bitsoulhosting.com/marketplace and ship scenes that look lit, not lazy.

Tags: unity urp lightmapping game-development lighting static-lighting 3d-assets baked-lighting

Skip the modelling — download it instead

A free BitSoul account gets you 2 game-ready models every month plus 25 AI Engine credits to generate one of your own, no card required. Clean topology, PBR textures, and GLB downloads that drop straight into Unreal, Unity, Godot or Blender — plus OBJ and 3D-printable STL export.

Create a free account → Browse 846 models