Shadow Cascades help solve a problem called perspective aliasing, where real-time shadows from Directional Lights appear pixelated when they are near the CameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary.
Shadow Cascades only work with Directional Lights.
A Directional Light typically simulates sunlight, and a single Directional Light can illuminate the entire SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary. This means that its shadow map covers a large portion of the Scene, which can lead to a problem called perspective aliasing. Perspective aliasing means that shadow map pixelsThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
See in Glossary close to the Camera look enlarged and chunky compared to those farther away.
Perspective aliasing occurs because different areas of the shadow map are scaled disproportionately by the Camera’s perspective. The shadow map from a light needs to cover only the part of the Scene visible to the Camera, which is defined by the Camera’s view frustum. If you imagine a simple case where the directional light comes directly from above, you can see the relationship between the frustum and the shadow map.
In this simplified example, the distant end of the frustum is covered by 20 pixels of shadow map, while the near end is covered by only 4 pixels. However, both ends appear the same size on-screen. The result is that the resolution of the map is effectively much less for shadow areas that are close to the Camera.
Perspective aliasing is less noticeable when you use Soft Shadows, and when you use a higher resolution for the shadow map. However, these solutions use more memory and bandwidth while rendering.
When using Shadow Cascades, Unity splits the frustum area into two zones based on distance from the Camera. The zone at the near end uses a separate shadow map at a reduced size (but with the same resolution). These staged reductions in shadow map size are known as cascaded shadow maps (sometimes called Parallel Split Shadow Maps).
When you configure Shadow Cascades in your Project, you can choose to use 0, 2 or 4 cascades. Unity calculates the positioning of the cascades within the Camera’s frustum.
The more cascades you use, the less your shadows are affected by perspective aliasing. Increasing the number increases the rendering overhead. However, this overhead is still less than it would be if you were to use a high resolution map across the whole shadow.
In the Built-in 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, configure Shadow Cascades per quality level property in your Project’s Quality Settings.
In the Universal Render Pipeline (URP), configure Shadow Cascades in the Universal Render Pipeline Asset.
In the High Definition Render Pipeline (HDRP), configure shadow cascades for each Volume.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.