installation Steps (What & Why)

This document explains each step in the Installation Guide window (Tools > Shadow Match Studio > Installation Guide) and why it is needed.


Step 1: URP Configuration

What it does

  • Checks whether your project is using the Universal Render Pipeline (URP) and whether the Shadow Match Studio pipeline assets are assigned.

  • The "Assign URP Assets to Graphics & Quality" button:

    • Sets Edit > Project Settings > Graphics so the default render pipeline is the package’s PC_RPAsset_ShadowMatch.

    • Assigns the package’s UniversalRenderPipelineGlobalSettings in Graphics (global URP settings).

    • For Edit > Project Settings > Quality, assigns the same pipeline asset to every quality level.

Why we do it

  • The package ships with custom URP settings (renderer, features, global settings). After import nothing points at those assets. Without this step, the project would keep using the template’s default pipeline and the demo would not behave correctly.


Step 2: Layer Configuration

What it does

  • Ensures two layers exist and are at fixed indices:

    • ShadowMatch at layer index 30

    • ShadowCapture at layer index 31

  • The "Add Shadow Match Studio Layers" button writes these into Edit > Project Settings > Tags and Layers (TagManager). If slot 30 or 31 is already used by another layer name, the installer logs an error and does not overwrite it. As of writing, layer 31 is reserved for SMS, but you can move ShadowMatch from 30 somewhere else and reassign that new layer to all the gameobjects if you need to.

Why we do it

  • Layers are also stored in Project Settings and are not included in the package. The runtime and editor code expect:

    • ShadowCapture at index 31 (e.g. ShadowCaptureStudio.BAKE_RENDER_LAYER, ShadowMatchConfig._shadowCaptureLayer). The shadow-capture camera and pixel-comparison logic use this layer.

    • ShadowMatch at index 30 for grouping.


Step 3: Import TextMeshPro Essential Resources

What it does

  • Instructs you to run Window > TextMeshPro > Import TMP Essential Resources once.

Why we do it

  • The demo (and any UI that uses TMP) needs the default TMP resources (fonts, materials, etc.). They are not part of the package. Importing them once per project ensures text and UI render correctly in the demo and in your own scenes. If you use your own text solution, or don't want any of the text you see on screen, you can uninstall this and replace with your own solution.


Step 4: Open the demo scene

What it does

  • Tells you to open the demo scene: Shadow Match Studio > Scenes > Demo Shadow Capture Studio.

Why we do it

  • By this point, URP is assigned, layers are set, and TMP is imported. Opening the demo last means the scene has everything it needs (pipeline, layers, text) and should run without missing-references or wrong-render-pipeline issues. It’s the final step to “you’re ready to go.”


Step 5: Use WebGPU (optional)

What it does

  • For WebGL builds only: the "Set WebGPU first, WebGL2 second" button:

    • Turns off “Auto Graphics API” for WebGL.

    • Puts WebGPU (Experimental) at the top of the list in Edit > Project Settings > Player (WebGL platform) under Graphics API.

Why we do it

  • If you plan to play on the web, you need WebGPU as the default (first) graphics API. WebGL won't support the compute shader. If you absolutely can't use WebGPU, you can use WebGL, but you can't use the compute shader for pixel-perfect comparison analysis - You'll need to edit your game config to use simple euler angle matching, which will force the compute shader to not load and should allow for building to WebGL. This is not advised due to quality concerns.


Summary

Step
What
Why

1

Assign URP assets to Graphics & Quality

Demo needs this pipeline.

2

Add ShadowMatch (30) and ShadowCapture (31) layers

Code expects these names and indices.

3

Import TMP Essential Resources

UI/text need them.

4

Open the demo scene

Do this last so pipeline, layers, and TMP are already set up.

5

Set WebGPU first for WebGL (optional)

Required for web builds.

Last updated