Version: Unity 6 Preview (6000.0)
Language : English
Set the size of shadow atlases in URP
Screen space ambient occlusion (SSAO) in URP

Add screen space shadows in URP

Screen-space shadows
Screen-space shadows in a sample scene.

You can add a Screen Space Shadows Renderer Feature to a Universal Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary
(URP) renderer. This makes URP use a single render textureA special type of Texture that is created and updated at runtime. To use them, first create a new Render Texture and designate one of your Cameras to render into it. Then you can use the Render Texture in a Material just like a regular Texture. More info
See in Glossary
to calculate and draw shadows from the main Directional Light, instead of multiple shadow cascade textures.

The Screen Space Shadows Renderer Feature doesn’t affect how shadows look.

If your project uses the Forward Renderer, screen-space shadows might make rendering faster, because the Universal Render Pipeline (URP) doesn’t need to access multiple shadow cascade textures.

Screen-space shadows have the following limitations:

  • URP adds a depth prepass so it can sample the depth texture. This might reduce performance on mobile platforms that use tile-based rendering. Refer to Depth Priming Mode for more information about the depth prepass.
  • URP creates a screen-space shadows texture, which uses more memory.

Screen-space shadows texture
The screen-space shadows texture for the previous image.

Enable screen-space shadows

To add screen-space shadows to your project, add the Screen Space Shadows Renderer Feature. Refer to Add a renderer feature.

URP doesn’t calculate or draw screen-space shadows for transparent objects. URP uses shadow maps for transparent objects instead.

View screen-space shadows

Use the Frame Debugger to view the render passes that draw shadows. Check the following render passes:

  • ScreenSpaceShadows, which creates the screen-space shadows texture.
  • MainLightShadow, which creates shadow map textures.

Check the DrawOpaqueObjects render pass to check which shadow texture URP uses to draw shadows on each object.

Shadows using the screen-space shadows texture
The Frame Debugger with screen-space shadows enabled. The objects in the DrawOpaqueObjects render pass use _ScreenSpaceShadowmapTexture.

Shadows using shadow maps
The Frame Debugger with screen-space shadows disabled. The objects in the DrawOpaqueObjects render pass use TempBuffer 398 2048x1024 and TempBuffer 399 2048x2048, which are shadow map textures from the MainLightShadow render pass.

Set the size of shadow atlases in URP
Screen space ambient occlusion (SSAO) in URP