URP Setup
Only URP (Universal Render Pipeline) is supported. Built-in and HDRP are not supported.
URP Setup (Shadow Match Studio)
Custom shadow catcher (URP)
Shadow Match Studio uses a custom shader to turn cast shadows into a single colored silhouette for baking and comparison.
Shader
Custom/ShadowCatcherURP (Shaders/ShadowCatcherURP.shader)
Pass
UniversalForward (ForwardLit)
Shadow usage
Uses URP main-light shadow mapping: _MAIN_LIGHT_SHADOWS, _MAIN_LIGHT_SHADOWS_CASCADE, _SHADOWS_SOFT. In the fragment shader, GetMainLight(shadowCoord) and mainLight.shadowAttenuation drive alpha (shadow = 1 − attenuation).
Material
The Shadow Catcher Quad in the scene must use a material that uses this shader (and the same shadow keywords).
Cameras
Shadow Match Studio uses 2 URP cameras. One is the main camera, and the other is the Pixel Comparison camera (only used if Matching Mode is set to Pixel Comparison).
Main / Studio camera
Must have Universal Additional Camera Data (URP camera component). Used for player view and studio authoring.
Pixel Comparison Camera
Must have Universal Additional Camera Data. ShadowMatchSystem calls GetUniversalAdditionalCameraData() and requires it; You don't need to edit this at editor time — at puzzle initialization time it is dynamically set up to be as efficient as possible (e.g. No SSAO, no depth/color etc.).
Shadow-casting light
Shadow Match Studio uses 2 URP directional lights. One is the main sun source just for looks, and the other is the "projector" aiming at the object.
Custom materials and shaders
All shaders in the Shaders folder, in order:
ShadowCatcherURP.shader—Custom/ShadowCatcherURP. Renders the shadow silhouette on the shadow catcher quad using URP main-light shadow mapping.ShadowMatchComparison.compute— Compute shader used for pixel comparison (kernels:CompareShadows,CompareShadowsBatch,ClearBuffer,ClearBufferBatch). Used byShadowMatchSystemwhen Matching Mode is Pixel Comparison.ShadowMatchVisualizer.shader—Custom/ShadowMatchVisualizer. Used for the source-vs-target comparison display (e.g. debug or feedback view).
All materials in the Materials folder, in order:
Canvas Frame Baked.mat— URP Lit. Used for the frame canvas (e.g. Quad Display Canvas Baked in the picture frame prefab).Captured Target Shadow_URP_SimpleLit.mat— URP Simple Lit (transparent). Used to display the baked/target shadow on the frame.Linen.mat— URP Lit. Scene/frame canvas material.Plaster.mat— URP Lit. Scene/wall material.ShadowCatcherBake.mat—Custom/ShadowCatcherURP. Applied to the Shadow Catcher Quad for baking and pixel comparison.ShadowPixelMatchVisualizer.mat—Custom/ShadowMatchVisualizer. Used for the source-vs-target comparison RawImage when pixel comparison is enabled.Stained Wood Floor.mat— URP Lit. Floor material.
Shadow Catcher Quad
Material using Custom/ShadowCatcherURP
Receives shadow; outputs shadow silhouette color/alpha.
Captured / target shadow display
URP Lit or URP Simple Lit (e.g. Captured Target Shadow_URP_SimpleLit)
Used for the baked/target shadow on the frame; recommended to stay on URP Lit or Simple Lit.
Other scene materials use standard URP Lit/Simple Lit.
Settings and assets
Settings/UniversalRenderPipelineGlobalSettings.assetURP global settings used by the project; do not remove.Pipeline asset The URP Render Pipeline Asset (and assigned Renderer) is configured in Edit > Project Settings > Graphics and Quality. The project ships project settings for PC and these are installed at first import time using the custom installer window. PC_RPAsset_ShadowMatch
Shipped quality and your URP settings
The project is shipped with excellent quality settings for shadows so that shadow capture, baking, and pixel comparison look and behave correctly out of the box. In Edit > Project Settings > Quality, only one quality level is provided.
You are responsible for editing your own URP settings to match your game’s requirements (e.g. performance, art direction, target platforms). Adjust the URP Asset, Quality levels, shadow resolution, cascade count, and other pipeline options in Edit > Project Settings > Graphics and in your URP Asset(s) as needed.
Quality levels for your platforms
You are responsible for creating your own quality levels for your different platforms (e.g. Low / Medium / High, or per-platform tiers). Use Edit > Project Settings > Quality to add levels, assign a URP Asset per level as needed, and configure each for your target devices. The single shipped quality level is a starting point; duplicate and adjust it for your targets as your game requires.
Last updated