Baking a lightmap for a scene with 200+ objects takes 12 hours, yet the result is still noisy. Sound familiar? Every second project faces this problem when lighting has to be redone mid-production. We solve such tasks daily: our experience — 5+ years and 50+ projects in gamedev. We guarantee a seamless workflow with clear documentation, starting at $500 per audit.
The choice between dynamic and static lighting is one of the first technical decisions made when designing a level. This decision determines the performance budget, shadow quality, gameplay possibilities, and the amount of work on the lighting pipeline. Reverting it mid-production is costly. In practice, most projects use a hybrid scheme, and it is the correct setup of this hybrid scheme that is the main technical task. Understanding the game lighting pipeline helps in making informed decisions.
How to choose between static and dynamic lighting?
Static lighting offers the best shadow and ambient quality but does not react to scene changes. Dynamic lighting reacts to everything but costs more GPU. A hybrid scheme combines both approaches 3–4 times more efficiently compared to pure dynamic lighting. Static lighting is 10x more GPU-friendly for stationary objects, while dynamic lighting enables movable objects. We help you choose the optimal balance for your platform and genre.
Static lighting: Progressive Lightmapper and its parameters
In Unity, static lighting is baked via Progressive Lightmapper (GPU or CPU). It is a path-tracing solution that calculates indirect lighting, soft shadows, and ambient occlusion for static objects, storing the result in Lightmap Textures. See Unity Progressive Lightmapper Documentation for details.
Key parameters that directly affect the result:
Lightmap Resolution. Measured in texels per unit. For exterior surfaces, the standard is 4–8 texels/unit, for hero surfaces (floors, walls in important locations) — 16–32. Higher means longer baking and more VRAM for storing lightmaps. Lower means visible shadow pixelation. A typical mistake: setting the same value for the entire scene instead of controlling it via Scale in Lightmap on each object.
Samples (Direct/Indirect/Environment). Direct Samples — number of samples for direct sources. 512–1024 for production, less only for fast preview bakes. Indirect Samples — depth of bounce calculations, 512–2048 depending on scene complexity. Environment Samples — affects ambient quality from the skybox. Lowering Indirect Samples is the main cause of noise on ceilings and in corners.
Denoising. Unity's built-in denoiser (OptiX for Nvidia, OIDN for CPU) removes noise from path-tracing. Importantly: denoising smooths, not improves quality. With too few samples, the denoiser blurs shadows until details are lost. Rule: samples must be sufficient so that noise is fine — then the denoiser removes it cleanly.
Lightmap Compression. Unity compresses lightmaps into BC6H (HDR) by default. If the scene requires precise color data in lighting — e.g., colored light leaking through windows — BC6H is the right choice. For simple outdoor scenes without colored sources, you can reduce to BC4 to save VRAM.
Dynamic lighting: Shadow Cascades and performance
Dynamic shadows are shadow map rendering: the scene is rendered from the light's point of view into a depth texture, which is then used in the main render to determine shadowed areas.
Shadow Cascades — a critical parameter for Directional Light (sun, moon). A single shadow map for the whole scene means a compromise: either small but covering, or detailed but only for the near zone. Cascaded Shadow Maps divide the distance into 2–4 zones with different shadow map resolutions: the near zone gets high resolution, the far zone low.
Proper Cascade Distances configuration balances quality and performance. If the First Cascade is too large, shadows on near objects are blurry (pixelated shadow map). If too small, a sharp transition boundary between cascades is visible. The transition edge is smoothed via Shadow Cascade Blend in Unity or Dynamic Shadow Distance Fadeout in Unreal.
In Unreal Engine 5 with Lumen, dynamic global illumination is computed in Screen Space + Signed Distance Fields, fundamentally changing the lighting approach. Shadow Cascades for Directional Light remain (Virtual Shadow Maps in UE5 bring significant quality improvement with controlled budget), but indirect lighting from Lumen does not require Light Probes or Lightmaps — it is real-time GI.
Why is the hybrid scheme the industry standard?
Practical scheme for most projects:
- Directional Light (sun) — Mixed mode: static shadows in lightmaps, dynamic shadows for characters via Cascades
- Large Point Lights (lanterns, campfires) — Baked, if static. Dynamic only if they turn on/off based on gameplay
- Small accent lights (candles, screens) — Baked, often as Emissive in lightmap
- Light Probes — place manually by zones, do not rely on Auto Generate
Light Probes and mixed lighting
Light Probes in Unity are spherical harmonics (Spherical Harmonics, L2) that store ambient lighting for a specific point in space. Dynamic objects (characters, particles, vehicles) cannot use lightmaps — they take lighting from Light Probes.
An error encountered in almost every project: Light Probes placed too sparsely or only along the level perimeter, rather than by zones with different lighting. A character walking from a sunlit street into a dark building receives the same ambient in both places — lighting does not change. Solution: dense Probe grid in transition zones (doorways, arches, under awnings), sparse in uniformly lit areas.
Light Probe Proxy Volume (LPPV) — for large dynamic objects (vehicles, large creatures): instead of one Probe at the object's center, LPPV builds a volumetric grid of Probes across the object's dimensions. The difference is noticeable: without LPPV, a large truck is lit uniformly like a solid object; with LPPV, its right side is darker if it is in a building's shadow.
Enlighten — Unity's real-time GI system (available in Unity HDRP). It recalculates bounces from dynamically changing Directional Light — a day/night cycle with Enlighten means ambient changes with the sun's position without rebaking lightmaps. It costs CPU time every time the source changes, so it is used selectively: only for Directional Light, other sources remain static or baked.
What is included in lighting setup work
We offer a comprehensive approach:
- Technical audit with profiling (starting at $500)
- Hybrid lighting scheme design
- Parameter configuration (Lightmap Resolution, Shadow Cascades, Light Probes)
- Lightmap baking with optimization (baking time often reduced by 50%)
- Performance validation on target hardware (FPS improvement up to 40%)
- Complete documentation of all settings
- Remote setup assistance and training for your team
- 2 weeks of post-delivery support
- Access to optimized scene files
| Parameter | Static | Dynamic | Hybrid |
|---|---|---|---|
| Shadow quality | High (baked) | Medium (depends on resolution) | High on static, medium on dynamic |
| GPU load | Low | High | Medium |
| Day/night support | No (only rebake) | Yes | Yes (mixed) |
| Setup complexity | Medium | Medium | High |
| Task scale | Estimated time | Cost (USD) |
|---|---|---|
| Lighting setup for one small location | 2–4 days | $500–$1,000 |
| Interior with full GI and baked lightmaps | 4–8 days | $1,500–$3,000 |
| Open-world level with day/night cycle | 2–4 weeks | $5,000–$10,000 |
| Optimization and fixing existing lighting | per agreement | from $300 |
Our lighting optimization process starts with a technical audit: platform, target framerate, pipeline (URP/HDRP/Lumen). Then design the lighting scheme, place light sources, configure shadow cascades, bake lightmaps, and test on target hardware. Lighting audit starts at $500, and we can improve FPS by up to 40% with hybrid lighting compared to full dynamic. Respecting the performance budget is crucial. Contact us for a consultation — we will evaluate your project and offer the best turnkey solution. Order a lighting audit to avoid rework in later stages.





