Overview

Baked lighting gives a scene rich, cheap indirect light (light that has bounced off walls, floors and ceilings), but lightmaps only exist on static surfaces. Light probes solve the other half of the problem: they store baked lighting at points in the empty space of the scene, so moving characters, props and vehicles can pick up the same bounced light as the static world. Unity’s manual describes light probes as providing “high quality lighting (including indirect bounced light) on moving objects”, and contrasts them with lightmaps: lightmaps store lighting for surfaces, probes store light passing through empty space (Unity Technologies, Unity Manual: Light Probes).

In Unity 6 URP there are two probe systems: hand-placed Light Probe Groups and automatically placed Adaptive Probe Volumes (APV).

The camera does not compute GI

A common misconception is that moving the camera “updates” global illumination, or that a moving camera means you cannot bake. Neither is true:

  • Global illumination is a property of the lights and geometry, not of the viewpoint. Baked GI is calculated before runtime; probes are measured at bake time, and moving objects interpolate between them at runtime (Unity Technologies, Unity Manual: Light Probes and moving GameObjects).
  • The camera only decides what is drawn. The diffuse part of indirect lighting is the same from every angle. Only specular highlights and reflections change with the viewpoint, and those come from the material and Reflection Probes (see unity-reflection-probes-and-specular).
  • URP has no screen-space GI. Unity’s feature comparison lists Screen Space Global Illumination as not supported in URP (Unity Technologies, Unity Manual: Render pipeline feature comparison).

So a game with a freely moving camera can, and usually should, bake its static lighting. Real-time lights still provide direct light and shadows that change during play; bake the indirect contribution and let probes carry it to moving objects.

Where indirect light can come from in URP

SourceUpdates at runtime?LightsNotes
Baked lightmapsnostatic surfacesneed lightmap UVs (UV1); see 3d-materials-and-uvs
Light Probe Groupsnomoving objects, small static propshand-placed, sampled per object
Adaptive Probe Volumesblends between baked Lighting Scenarios; sky occlusionmoving and static objectsautomatic placement, per-pixel sampling
Enlighten Realtime GIyes, from changing lights, over several framesstatic geometry, with probes for moving objectsprecomputed; Unity marks support as ending after Unity 6

Enlighten Realtime GI precomputes how surface patches can see each other and then updates bounced light from real-time lights at runtime; changes take “several frames to propagate”, and it is “not intended for special effects or Lights that change quickly” (Unity Technologies, Unity Manual: Realtime Global Illumination using Enlighten). The feature comparison lists it as supported in URP with the note “Support ends after Unity 6” (Unity Technologies, Unity Manual: Render pipeline feature comparison), so treat it as a legacy option for new projects.

Setup

Choose the probe system

In the active URP Asset, open Lighting > Light Probe Lighting and set Light Probe System to either Light Probe Groups (Legacy) or Adaptive Probe Volumes (Unity Technologies, Unity Manual: Universal Render Pipeline Asset reference).

  1. Edit > Project Settings > Quality, open the active Render Pipeline Asset, and set Light Probe System to Adaptive Probe Volumes.
  2. GameObject > Light > Adaptive Probe Volume, and set Mode to Global so it covers the whole scene.
  3. Set lights that should bake to Mode: Mixed or Baked.
  4. On static scenery, enable Mesh Renderer > Lighting > Contribute Global Illumination. To have a static object receive probe lighting instead of a lightmap, set Receive Global Illumination to Light Probes.
  5. Window > Rendering > Lighting: in the Scene tab enable Baked Global Illumination under Mixed Lighting; in the Adaptive Probe Volumes tab set the baking mode to Single Scene.
  6. Click Generate Lighting, or use the dropdown’s Bake Probe Volumes to bake only the probes.

These steps follow Unity Technologies, Unity Manual: Use Adaptive Probe Volumes. Moving objects do not contribute to GI, so they automatically receive lighting from the probes.

Light Probe Groups (legacy)

  1. GameObject > Light > Light Probe Group.
  2. Edit the group to place probes where lighting changes: either side of a shadow edge, at doorways, along routes moving objects take, and at the heights characters occupy.
  3. Bake lighting. A moving object finds the tetrahedron of four probes around it and interpolates their lighting; the Scene view shows which probes it is using when the object is selected (Unity Technologies, Unity Manual: Light Probes and moving GameObjects).

The Mesh Renderer’s Probes > Light Probes setting defaults to Blend Probes (one interpolated probe per renderer); Anchor Override changes the point used for interpolation (Unity Technologies, Unity Manual: Mesh Renderer component reference).

Usage

Light Probe Groups vs Adaptive Probe Volumes

Light Probe GroupsAdaptive Probe Volumes
Placementby handautomatic, denser near detailed geometry
Samplingper objectper pixel, using the eight closest probes
Seams between neighbouring objectsmore likelyfewer
Streaming and blending between bakesnoyes (Lighting Scenarios, streaming)
Manual probe adjustmentyesno; use settings and overrides instead

Unity’s APV concept page summarises the benefit as “Unity samples surrounding probes per-pixel rather than per GameObject”, giving more consistent lighting with fewer seams. Its limitations are that you cannot move individual probes, so probes may not follow walls exactly, and existing Light Probe Groups cannot be converted. Probes are organised in bricks of 4×4×4, a scene must belong to a Baking Set to store APV lighting, and Lighting Scenarios store alternative bakes (for example day and night) that can be switched or blended at runtime (Unity Technologies, Unity Manual: Understand Adaptive Probe Volumes in URP).

Answering “do I need to bake?”

  • Static environment, moving camera, moving characters: bake indirect lighting (lightmaps, APV or both), use probes for moving objects, and keep a small number of real-time lights for direct light and shadows.
  • Lights that change during play (time of day, switching lights): consider APV Lighting Scenarios for planned changes, or real-time lights with baked or probe-based ambient for the rest. Enlighten Realtime GI is an option for slow changes but is being phased out.
  • Everything moves or is generated at runtime: you cannot bake surfaces that do not exist yet. Rely on real-time lights, environment lighting from the skybox, and SSAO for contact depth; accept that bounced light will be approximate.

Gotchas

SymptomLikely causeFix
Moving character looks flat or too bright in a baked roomno probes, so it only gets ambient lightadd an APV or a Light Probe Group and rebake
Character darkens or brightens suddenlysparse Light Probe Group around a light boundaryadd probes either side of the boundary, or use APV
Light leaks through thin walls with APVprobes sit inside or behind geometrysee Unity’s APV light-leak troubleshooting; thicken walls or adjust settings
Static object shows no baked lightContribute Global Illumination off, or not rebakedenable it and Generate Lighting
Expecting the camera to update bounce lightmisconceptionGI comes from bakes, probes or Enlighten, never the camera