Baked vs. dynamic lighting
The central lighting decision in any project; what baking stores, what mixed and stationary lights do, what fully dynamic systems such as Lumen cost, worked lightmap numbers, and how Call of Duty, Fortnite and Metro Exodus chose differently.
Baked lighting is calculated ahead of time and stored, usually in textures called lightmaps. Dynamic lighting is calculated while the game runs. Until recently, believable bounce light "had to be solved in an offline process called lightmap baking", which "can provide very high quality, but requires long build times, and greatly constrains the game environment" (Unreal Engine tech blog: Unreal Engine 5 goes all-in on dynamic global…).
Choosing where your project sits between the two is one of the first technical decisions on any game. It affects your lightmap UVs, your build times, your target platforms and even your game design: a world lit by baked light cannot have a day-night cycle or walls the player can knock down. For the basics of lights themselves, see real-time lighting; for bounce light specifically, see global illumination.
#What baking stores
A light bake simulates light in the editor and writes the result to disk.
- Lightmaps hold the light that falls on static surfaces. Each surface needs a second, non-overlapping UV set for this; see lightmap UVs.
- Light probes store light at points in space, so moving objects (characters, doors, pickups) can pick up the baked light as they pass. Godot's documentation notes that with LightmapGI, dynamic objects receive light via light probes (Godot Engine documentation: Introduction to global illumination).
Unity's baked settings show what you control (Unity Manual: Baked Lighting Settings):
| Setting | What it does | Default in Unity 6 |
|---|---|---|
| Lightmap Resolution | "The number of texels per unit for lightmaps" | Not stated |
| Lightmap Padding | Space between UV charts in the atlas | 2 |
| Max Lightmap Size | Largest atlas texture | 1024 |
| Max Bounces | Light bounces simulated | 2 (range 0–100) |
| Lightmapper | Progressive GPU; "the Progressive CPU Lightmapper is deprecated" | — |
| Ambient Occlusion | Baked contact darkening | "Enabled by default" |
Baking costs time and flexibility. Moving a lamp after a bake "will leave lighting in an incorrect state" until you bake again (Unreal Engine tech blog: Unreal Engine 5 goes all-in on dynamic global…). Unity's manual says baked lights have "no runtime cost", but baking itself "can be a time-consuming process" (Unity Manual: Light Modes).
#Mixed and stationary lights
Most engines let one light be partly baked.
- Unity Mixed lights are "a hybrid mode that offers a mix of baked and real-time features", but they "have the same performance impact as real-time lights" (Unity Manual: Light Modes).
- Unreal Stationary lights "use both dynamic direct lighting and static indirect lighting": bounce light and shadowing go into lightmaps, while direct light is computed live, so you can still change brightness and colour (Unreal Engine Documentation: Stationary Light Mobility). Epic rates them "the highest quality, medium mutability, and medium performance cost" (Unreal Engine Documentation: Stationary Light Mobility). Their distance-field shadows "can remain crisp even with fairly low lightmap resolutions" (Unreal Engine Documentation: Stationary Light Mobility). There is a limit: "only four or fewer Stationary Lights can overlap" any piece of geometry (Unreal Engine Documentation: Stationary Light Mobility).
#Fully dynamic lighting
Fully dynamic systems compute both direct and bounce light every frame. Unreal's Lumen is "Unreal Engine's fully dynamic global illumination and reflections system" and the default in UE5 (Unreal Engine Documentation: Lumen Global Illumination and Reflections). Turning it on changes the whole lighting approach: "precomputed static lighting contributions are disabled and all lightmaps are hidden", and Static lights are not supported at all (Unreal Engine Documentation: Lumen Global Illumination and Reflections).
The costs are runtime and hardware:
- Frame time. Epic's highest scalability level costs "around 8 milliseconds (ms) on next-generation consoles" for GI and reflections; the High level is set up for 60 fps (Unreal Engine Documentation: Lumen Technical Details).
- Platforms. Lumen is built for PlayStation 5, Xbox Series S/X, Switch 2 and high-end PCs, "does not support previous-generation consoles", and "does not currently support Virtual Reality (VR) systems" (Unreal Engine Documentation: Lumen Technical Details). It does run on Android Vulkan with the Mobile Renderer (Unreal Engine Documentation: Lumen Technical Details).
- Content rules. Walls should be at least 10 cm thick to avoid leaks (Unreal Engine Documentation: Lumen Technical Details).
Godot 4's real-time options (SDFGI, VoxelGI, SSIL) are not available in its Mobile or Compatibility renderers; "for mobile games, LightmapGI and ReflectionProbes are the only supported options" (Godot Engine documentation: Introduction to global illumination).
#Three games compared
#Decision guide
| If your project has… | Lean towards | Why |
|---|---|---|
| A day-night cycle, destruction or player building | Dynamic | Baked light cannot follow changes (Unreal Engine tech blog) |
| Mobile or Switch-class targets without Lumen-class hardware | Baked | Godot mobile supports only lightmaps and probes (Godot Engine documentation); Lumen excludes last-generation consoles (Unreal Engine Documentation) |
| Standalone or PC VR | Baked or simple dynamic | Lumen does not support VR (Unreal Engine Documentation) |
| Procedurally generated levels | Dynamic | Godot notes baking only happens in the editor (Godot Engine documentation) |
| A 60 fps target and a tight GPU budget | Baked, or dynamic with low settings | Fortnite had 4 ms for GI and reflections (Unreal Engine tech blog) |
#In different engines
| Baked | Partly baked | Fully dynamic | |
|---|---|---|---|
| Unreal Engine 5 | Static lights in lightmaps (not used with Lumen) (Unreal Engine Documentation) | Stationary lights (Unreal Engine Documentation) | Movable lights with Lumen |
| Unity 6 | Baked lights, Progressive GPU lightmapper (Unity Manual; Unity Manual) | Mixed lights | Realtime lights |
| Godot 4 | LightmapGI (UV2 and baking) (Godot Engine documentation) | Static bake mode for level lights, Dynamic for long-lived effects | SDFGI, VoxelGI, SSIL, Forward+ only |
#Common mistakes
- No lightmap UVs, or overlapping ones. Baked light smears or bleeds. See lightmap UVs.
- Uneven lightmap density. A crate with sharper shadows than the wall behind it looks wrong. Check with your engine's lightmap density view; see texel density.
- Moving things after a bake. Baked light stays where it was (Unreal Engine tech blog: Unreal Engine 5 goes all-in on dynamic global…).
- Mixing approaches by accident in Unreal. Static lights do nothing once Lumen is on (Unreal Engine Documentation: Lumen Global Illumination and Reflections).
- Choosing dynamic without a fallback. Plan a low setting, as Fortnite did (Unreal Engine tech blog: Lumen brings real-time global illumination to…).
#Further reading and watching
References
- · Unreal Engine 5 goes all-in on dynamic global illumination with Lumen · Unreal Engine tech blog, 2022 · article · accessed 2026-10-21
- · Introduction to global illumination · Godot Engine documentation (source on GitHub), 2026 · docs · accessed 2026-10-21
- · Baked Lighting Settings (Lighting Settings Asset reference) · Unity Manual, 2026 · docs · accessed 2026-10-21
- · Light Modes (introduction) · Unity Manual, 2026 · docs · accessed 2026-10-21
- · Stationary Light Mobility · Unreal Engine Documentation, 2026 · docs · accessed 2026-10-21
- · Lumen Global Illumination and Reflections · Unreal Engine Documentation, 2026 · docs · accessed 2026-10-21
- · Lumen Technical Details · Unreal Engine Documentation, 2026 · docs · accessed 2026-10-21
- · Precomputed lighting in Call Of Duty: Infinite Warfare · Activision Research · talk · accessed 2026-10-21
- · Large-Scale Global Illumination in Call of Duty · Activision Research, 2021 · talk · accessed 2026-10-21
- · Lumen brings real-time global illumination to Fortnite Battle Royale Chapter 4 · Unreal Engine tech blog, 2022 · article · accessed 2026-10-21
- · Metro Exodus PC Enhanced Edition Out Now With Improved Ray Tracing And DLSS 2.0 · NVIDIA GeForce News, 2021 · article · accessed 2026-10-21
Pages that link here
- Real-time vs. offline rendering Topic
- Roles in 3D game production Topic
- USD for environment artists Topic
- Motivated lighting Key term
- Modular kits Topic
- UV mapping Topic
- Texel density Topic
- UV packing and padding Topic
- Lightmap UVs Key term
- Emissive materials Key term
- Real-time lighting Topic
- Light probes and reflection probes Key term
- Global illumination Key term
- Light leaking Key term
- Time of day Key term
- Virtualised geometry (Nanite) Topic
- Portfolios Topic
- Planning a portfolio piece Guide
- Exercise: lighting one scene four ways Exercise
- A 12-month learning roadmap Guide
Last updated 2026-10-22