Overview
In URP, lighting is a workflow made from several connected tools: lights, shadows, the Lighting window, volumes/post-processing, and Renderer Features. Students often mix these up because they all affect the final frame, but they do different jobs. If you want to bake global illumination, you work through the Lighting window. If you want a camera-space effect such as Screen Space Ambient Occlusion (SSAO), you add a Renderer Feature to the URP renderer. Unity’s recent URP material presents these as parts of one pipeline rather than isolated features (Unity, Introduction to URP for Advanced Creators, see source-unity-urp-advanced-creators).
Setup
Basic URP lighting workflow:
- Use a project that already has a URP asset and renderer data asset.
- Place your main lights in the scene and decide which are real-time, baked, or mixed.
- Open the Lighting window to configure baking and global illumination settings.
- Add Volumes for scene-wide post-processing.
- Add specific Renderer Features only when you need them, such as SSAO or decals.
Usage
If I bake global illumination, do I use the Lighting window or Shader Graph?
Use the Lighting window.
Shader Graph controls how a material responds to lighting and surface data. It is not the main tool for baking scene-wide global illumination. Baking lives in Unity’s lighting workflow: lightmaps, probes, and the Lighting window settings. Unity’s URP documentation and e-books repeatedly tie baked and mixed lighting to that window-based workflow (Unity, Introduction to URP for Advanced Creators, see source-unity-urp-advanced-creators).
What SSAO is actually for
SSAO stands for Screen Space Ambient Occlusion. It helps objects feel more grounded by darkening creases, corners, and contact areas in screen space.
That means:
- Yes, it is a good effect when you want more depth and grounding.
- No, it is not the thing that makes lights “react realistically to camera position”.
SSAO is best understood as a depth and contact-shadow aid. Unity’s URP VFX material is explicit that SSAO is implemented as a Renderer Feature in URP, independent from the post-processing stack (Unity, Create Popular Shaders and Visual Effects with URP, see source-unity-urp-shaders-vfx).
So what does make lighting react to the camera?
No camera or global lighting setting is needed, because URP’s Lit shader already uses the direction to the camera. Specular highlights and environment reflections are calculated from the view direction, so they move as the camera moves; diffuse and baked lighting are deliberately the same from every angle. The levers are:
- Material values: Smoothness and Metallic control how sharp and how strong the view-dependent shine is.
- Reflection Probes and the Lighting window’s Environment Reflections source control what shiny surfaces reflect.
- Camera projection is not a lighting control. Field of view and focal length change framing, not the material maths; an orthographic camera uses one view direction for the whole screen.
The full explanation, with the URP shader evidence, is on unity-reflection-probes-and-specular.
Likewise, camera movement never computes global illumination. URP has no screen-space GI; indirect light comes from baked lightmaps, Light Probes or Adaptive Probe Volumes (see unity-light-probes-and-adaptive-probe-volumes), or Enlighten Realtime GI, whose support ends after Unity 6 (Unity Technologies, Unity Manual: Render pipeline feature comparison).
How to enable SSAO
- Select the Universal Renderer Data asset.
- In Renderer Features, choose Add Renderer Feature.
- Add Screen Space Ambient Occlusion.
- Tune radius, falloff, and sample quality in the inspector.
Dynamic lights vs baked lights
- Use real-time lights when the light source or its interaction must change during play.
- Use baked lighting for static environment contribution when you want cheaper high-quality lighting.
- Use mixed approaches when moving objects need to sit inside a mostly static lit environment.
Unity’s current performance guidance still treats baked lighting as a major optimisation tool for static content, especially on constrained platforms (Unity, Optimize Performance for Mobile, XR, and Web Games, see source-unity-performance-mobile-xr-web).
Gotchas
- Do not expect Shader Graph to replace the Lighting window. They solve different problems.
- SSAO adds depth, but it also adds cost. Profile it on the target device.
- Renderer Features are powerful, but each one adds complexity. Start with the smallest set that answers the visual problem.
- If lighting looks flat, the issue might be material values, shadow settings, or scene composition rather than “missing SSAO”.
Related
unity-urp-overview · unity-lighting-for-3d-scenes · unity-reflection-probes-and-specular · unity-light-probes-and-adaptive-probe-volumes · shader-graph-overview · unity-profiler · cinemachine-overview · unity-lod-groups · shader-fundamentals · unity-2d-lighting · unity-urp-material-performance · vfx-value-and-colour