Search Issue Tracker

By Design

Under Consideration for 2021.3.X, 2022.3.X, 6000.0.X, 6000.1.X, 6000.2.X

Votes

4

Found in

2021.3.40f1

2022.3.38f1

6000.0.11f1

6000.1.0a7

6000.2.0a1

7000.0.0a1

Issue ID

UUM-75771

Regression

No

Shader error in 'Shader Graphs/Shadows': redefinition of '_ShadowMapTexture' occurs when building the project for the first time with a custom shadows Shader Graph using the Built-In Active Target

-

How to reproduce:
1. Open the “BIRPShadowsBuildError“ project
2. Open the “Sample Scene”
3. Build And Run the project
4. Observe the Console

Expected result: Build is successful
Actual result: Build fails and “Shader error in 'Shader Graphs/Shadows': redefinition of '_ShadowMapTexture' at Assets/Shadows.hlsl(5) (on d3d11)“ error is thrown

Reproducible in: 2021.3.40f1, 2022.3.38f1, 6000.0.11f1

Reproducible on: Windows 10, macOS 14.5 (user’s)
Not reproducible on: No other environments tested

Notes: After the first Build fails, Build and Run again - the subsequent attempt compiles successfully

  1. Resolution Note:

    The Custom Function feature targets users who are highly knowledgeable about Unity’s shader code. While the internal shader code is available for reference, there is no official guide for using it.
    There are multiple declarations of _ShadowMapTexture in different areas, and which declaration is used depends on the defines that are set when the shader is compiled. You’ll need to verify which symbols are defined and use #if directives accordingly.
    You can see which defines are passed by reviewing the console output shown during the build, or by clicking “Compile and show code.”
    In particular, if SHADOWS_CUBE is defined, _ShadowMapTexture will be declared differently than if SHADOWS_SCREEN is defined. If SHADOWS_SCREEN is defined, then whether UNITY_NO_SCREENSPACE_SHADOWS is active or not will further change how _ShadowMapTexture is declared.

Comments (1)

  1. MetallCore999

    Aug 12, 2024 09:47

    Same problem in current version 6000.0.14f. I use Built-In rendering with custom lighting shader. It's sad that about half of all my particles shaders are used _ShadowMapTexture, and I can't build the project

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.