Mastering Baked Lighting for Games
Lightmap baking is often considered "outdated" compared to Lumen and real-time GI. In practice, it remains the primary method for achieving high-quality, performant lighting on mobile platforms and budget PCs. Even Unreal Engine 5 projects use baked lighting for static interiors because Lumen, despite its advantages, does not provide the same shadow sharpness or performance on weaker hardware.
As a team of game development engineers with 10 years of experience, we guarantee that the quality of baked lighting is always the result of fine-tuning a dozen parameters. Most issues with "bad" lightmaps stem from incorrect configuration of these parameters. Order an audit of your project — we will identify bottlenecks and propose a solution.
Why UV2 and Texel Density Are the Main Cause of Artifacts?
Lightmaps in Unity or Unreal are baked into a separate UV channel — UV2 (or Lightmap UV in Unreal). This is not the same as the albedo UV. Lightmap UV has strict requirements:
- No overlapping: each triangle occupies a unique place in UV2
- Minimum padding between islands: at least 2 texels at the target lightmap resolution. If the lightmap is 512px and padding is 2px, that's ~0.4% of the texture per seam. At 2048px — 0.1%. Insufficient padding causes light bleeding into dark areas through adjacent UV islands.
- No mirrored UVs: mirroring works for albedo but in lightmaps doubles the lighting on symmetric parts.
Unity automatically generates Lightmap UV on import (Generate Lightmap UVs in Import Settings). For simple geometry this works. For complex meshes with sharp angles or thin details, auto-generation creates incorrect islands that result in visible seams on the lightmap. In such cases, UV2 is created manually in DCC tools (Blender, Maya, 3ds Max) and imported ready.
Texel density in Lightmap UV is how many lightmap pixels cover a unit area of surface. Large flat surfaces (floors, walls) need more UV2 space. Small details (baseboards, door handles) need less. Unity and Unreal let you control this via Scale in Lightmap (Unity) and Lightmap Resolution Scale (Unreal) per object. Using the same Scale for all objects is a typical mistake: small objects get excessive resolution, large objects insufficient.
How to Properly Configure Progressive Lightmapper?
In Unity, the main baking tool is Progressive Lightmapper (since 2018.3 LTS, GPU-accelerated version later). According to the Unity documentation, the key parameters affecting the result:
Indirect Bounces. Number of light reflections. At Bounces=0: direct lighting only, no GI. At Bounces=2: light reflects twice, filling shadows with soft ambient. For dark interiors, Bounces=2–3 is the minimum for believable results. For bright outdoor scenes, 1–2 is often enough.
Indirect Intensity and Albedo Boost. Indirect Intensity scales the GI brightness globally. Albedo Boost amplifies the effect of surface colors on reflected light — at 1.0, a bright red surface creates reddish ambient on neighboring surfaces (color bleeding). At Albedo Boost > 1, the effect intensifies; at < 1, colors influence GI less. For realistic rendering, Albedo Boost = 1; for a less "dirty" ambient, use 0.5–0.8.
Prioritize View and Progressive Updates. When baking, Progressive Lightmapper starts with pixels visible in the Scene View — convenient for iterative work, but for final baking it's better to disable for uniform quality across the scene.
A typical problem with large scenes is light leaking: light passing through thin walls. The cause: shadow rays in the path tracer pass through geometry thinner than a certain threshold. The solution: make walls and floors at least 0.2–0.3 units thick (depending on scene scale) and ensure no geometry holes. Alternatively, adjust Shadow Bias on light sources, but this only partially solves the issue.
Unreal Engine: Lightmass and Its Specifics
In Unreal, baking uses Lightmass — a Global Illumination system with parameters in World Settings → Lightmass. For production quality, the Unreal documentation recommends:
- Static Lighting Level Scale. Global scale for baking quality — lower values increase lightmap detail but increase bake time. Default 1.0; for production, reduce to 0.5–0.75.
- Num Indirect Lighting Bounces. Similar to Bounces in Unity. For dark interiors: 4–6, for outdoor: 3–4.
- Indirect Lighting Quality. Multiplier for indirect lighting samples. Default 1.0; for clean production, 2.0–4.0. High values significantly increase bake time.
| Parameter | Unity (Progressive Lightmapper) | Unreal (Lightmass) |
|---|---|---|
| Number of bounces | Indirect Bounces | Num Indirect Lighting Bounces |
| Quality of GI samples | Indirect Samples | Indirect Lighting Quality |
| Detail scale | Scale in Lightmap (per-object) | Static Lighting Level Scale (global) |
| Additional GI for dynamics | Light Probes | Volumetric Lightmap |
| Distributed baking | N/A (single machine) | Swarm (up to 10 machines) |
Progressive Lightmapper on GPU is up to 2x faster than Lightmass for small scenes, but Lightmass with Swarm scales better for large projects.
In Unreal, Lightmass bakes via Swarm — a distributed system that can use multiple computers simultaneously. For large levels with high-resolution lightmaps (4096+), baking can take 8–24 hours without Swarm; with several machines in Swarm, 4–8 times faster.
Volumetric Lightmap in Unreal is the equivalent of Light Probes in Unity. It is automatically built during baking and provides ambient for dynamic objects. The Volumetric Lightmap Detail Cell Size parameter in World Settings controls grid density. Smaller values yield more accurate ambient for dynamic objects but increase data volume.
Common Baking Problems and Their Solutions
Why artifacts occur? Breakdown of typical cases
Seams on lightmap. Visible boundaries between UV islands on a lit surface. Cause: insufficient padding in UV2. Solution: increase padding or rework island layout.
Dark spots in corners. Not always artistically correct AO — sometimes it's insufficient Indirect Samples. Check: double the Indirect Samples and see if dark areas reduce. If noise decreases, samples were too low.
Yellow or red tint on gray surfaces. Color bleeding from neighboring colored surfaces with high Albedo Boost. Reduce Albedo Boost or check if nearby brightly colored objects have Cast Shadows = Off.
Lightmap too blurry. Scale in Lightmap too low for that object — not enough texels. Increase Scale or re-evaluate texel density distribution across the scene.
How We Bake Lightmaps: Step-by-Step Process
- Audit — check UV2 layouts, Import Settings, current bake settings. Identify bottlenecks and artifacts.
- Design — distribute texel density across scene objects, set Scale in Lightmap for each element.
- Parameter configuration — Indirect Bounces, Intensity, Albedo Boost, sample quality. Depends on scene and target platform.
- Iterative baking — progressively increase quality while monitoring results. Adjust parameters as needed.
- Final verification — visual inspection for artifacts, performance measurements (FPS budget), fix remaining issues.
- Delivery — ready lightmaps, documentation of settings, recommendations for further optimization.
What We Deliver
- Full audit of UV2 channel and Import Settings
- Configuration of Progressive Lightmapper or Lightmass for your project
- Iterative baking with quality control
- Artifact removal (seams, light leaking, color bleeding)
- Documentation of all parameters and final settings
- Support for 2 weeks after delivery
- Access to final lightmaps and settings files
- Training session on adjusting parameters for your team
Pricing and Savings
By optimizing baking, clients typically reduce baking time by 30–50% and achieve cleaner results. Our pricing is transparent: a small room bake costs $500, a medium interior $1500, and a large outdoor level $5000. Contact us for a precise quote based on your project’s complexity.
We are a team with 10 years of game dev experience, having completed over 50 projects with high-quality lighting. Contact us for an evaluation of your project — get a consultation on lightmap baking.
| Task Scope | Estimated Time | Cost Range |
|---|---|---|
| Baking a single small room (up to 20 objects) | 1–2 days | $500 |
| Medium interior level | 3–6 days | $1500 |
| Outdoor level with forest, terrain, and props | 5–12 days | $5000 |
| Fixing artifacts in an existing project | 2–4 days | $800–$1200 |
| Setting up UV2 + baking from scratch (entire level) | 2–6 weeks | $2000–$6000 |
First, audit UV2 layouts and Import Settings, then design texel density distribution, iterative baking with increasing quality, final artifact check, and delivery.
Pricing is determined individually after analyzing the project: scene size, number of lights, target platform, and current UV2 state. Contact us — we will evaluate your project within a day.





