Repository navigation
Decals
📝 Note: decals require Depth Pre-Pass in their minimal implementation.
Decals in Toon RP require setting up a custom shader. The following are instructions for Shader Graph:
- Create a new Default/Unlit shader graph (
Create/Shader Graph/Toon RP->Default Shader GraphorUnlit Shader Graph). - In Graph Settings:
- Set
Surface TypetoTransparent; - Disable
Cast Shadows; - Enable
Alpha Clipping. - Create the following setup:
-
Toon RP Decal Space UV SubGraphprovides UV, which we use to sample a texture. - Pass
Clip Valuedecal node output through a newToon RP Decal Alpha Clip Value SubGraphnode and multiply texture alpha with the result. - Plug the resulting color and alpha to the corresponding inputs of the fragment stage.
- (For Default Shader Graph) Pass
PositionWSfrom the decal node to the fragment output.

The next step is to setup a decal GameObject:
- Create
3D Object/Cube. - Remove the collider component.
- Setup the decals size (Scale) and rotation:
- The decal is projected onto the XY size along the Z axis (local forward direction/blue arrow).


📝 Note: requires Normals Pre-Pass.
- In Graph Settings, set
Fragment Normal SpacetoWorld. - Add a
Toon RP Scene Normals SubGraphnode and pass its result to theNormal (World Space)fragment output.
📝 Note: requires Normals Pre-Pass.
To avoid projecting decals onto steep surfaces, setup angle clipping:
- Add a
Toon RP Decal Angle Clip Value SubGraphnode, add its result with theClipValueoutput of theToon RP Decal Space UV SubGraph. - Pass the addition result to
Toon RP Decal Alpha Clip Value SubGraph. - Multiply the output with the texture alpha and pass the result to the
Alphafragment output.

To mimic the behavior of URP's Rendering Layers, one could use Stencil Buffer. The exact implementation is very project-dependent, therefore Toon RP does not provide a built-in option. An implementation might look like this:
- Render the decal-receiving layer (e.g., a terrain) with a certain stencil bit set.
- Render the rest of the opaque geometry setting the bit to 0.
- Render decals with stencil test: pass only pixels where the stencil bit is set.
📝 Note: enable
Control Stencilin a Shader Graph'sGraph Inspectorto allow controlling stencil values per-material.
Getting Started
Platform Support
Lighting and Shadows
- Global Ramp
- Shadows
- Variance Shadow Maps (VSM)
- Soft Shadows
- Additional Lights
- Additional Light Shadows
- Tiled Lighting (Forward+)
- Blob Shadows
- Fake Additional Lights
- Baked Lighting
Render Quality
Miscellaneous
Post-Processing
- Post-Processing Stack
- Bloom
- Inverted Hull Outline
- Screen-Space Outline
- SSAO
- Motion Blur
- Sharpen
- Light Scattering
Making Custom Shaders
Debugging