To enable Rendering Layers for Lights in your project:
In the URP Asset, in the Lighting section, open the More (⋮) menu and select Advanced Properties.
In the URP Asset, in the Lighting section, select Use Rendering Layers.
To edit the names of Rendering Layers:
Go to Project Settings > Tags and Layers.
Edit the Rendering Layer names in the Rendering Layers section.
This section describes how to configure the following application example:
The 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 contains two Point Lights (marked A
and B
in the illustration) and two Sphere GameObjectsThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary (C
and D
in the illustration).
Light A
affects Sphere D
, but not Sphere C
. Light B
affects Sphere C
, but not Sphere D
.
The following illustration shows the example:
Light A
affects Sphere D
, but not Sphere C
. Light B
affects Sphere C
, but not Sphere D
.
To implement the example:
Enable Rendering Layers in your project.
Create two Point Lights (call them A
, and B
) and two Spheres (call them C
, and D
). Position the objects so that both Spheres are within the emission range of Lights.
Go to Project Settings > Tags and Layers. Rename Rendering Layer 1 to Red
, and Layer 2 to Green
.
Select Light A
, change its color to green. Select Light B
, change its color to red. With this setup, both Lights affect both Spheres.
Make the following settings on Lights and Spheres:
Light A
: in the property Light > Rendering > Rendering Layers, clear all options, and select Green
.
Light B
: in the property Light > Rendering > Rendering Layers, clear all options, and select Red
.
Sphere C
: in the property Mesh Renderer > Additional Settings > Rendering Layer Mask, select all options, clear Green
.
Sphere D
: in the property Mesh Renderer > Additional Settings > Rendering Layer Mask, select all options, clear Red
.
Now Point Light A
affects Sphere D
, but not Sphere C
. Point Light B
affects Sphere C
, but not Sphere D
.
In the illustration above, Light A
does not affect Sphere C
, and the Sphere does not cast shadow from Light A
.
The Custom Shadow Layers property lets you configure the scene so that Sphere C
casts the shadow from Light A
.
Select Light A
.
In Light > Shadows, select the Custom Shadow Layers property. Unity shows the Layer property.
In the Layer property, select the Rendering Layer that Sphere C belongs to.
Now Light A
does not affect Sphere C
, but Sphere C
casts shadow from Light A
.
The following illustrations show the scene with the Custom Shadow Layers property off and on.