Search Issue Tracker
Won't Fix
Votes
0
Found in
2021.3.6f1
2022.1.9f1
2022.2.0b2
2023.1.0a6
2023.2.0a1
2023.3.0a3
Issue ID
UUM-12516
Regression
No
[BiRP SG] Can't build due to unclear shader compilation errors and warnings when Built-In Target is used in Shader Graph
How to reproduce:
- Open the user’s attached project “SGBugs.zip”
- Build the project
- Observe the Console window
Expected results: Project successfully builds
Actual results: Project fails to build and errors with warnings occur
Reproducible with: 12.1.7 (2021.3.6f1), 13.1.8 (2022.1.9f1), 14.0.3 (2022.2.0b2), 15.0.0 (2023.1.0a6)
Could not test with: 10.10.0 (2020.3.38f1) (“Cannot find the code for this Target, a package may be missing”)
Reproducible on: Windows 10
Notes:
- Removing the include shouldn't be necessary since that "guards" against multiple imports with an ifdef anyways, and without it types/autocomplete don't work properly anymore when working on the cginc file
- Can successfully build and run after commenting out the 19th line in “PBRHelpers.cginc” or removing the Built-in target from "MyShaderGraph"
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Warnings in the Bug Reporter window are cut off and not truncated when the Bug Reporter window is resized to its minimum size
- Color is incorrectly applied to objects when initialized with non-normalized parameters
- SerializationUtility.GetManagedReferencesWithMissingTypes() don't return null when “Prefab has missing SerializeReference Types“ warning banner is present
- Memory leak when VFX Graph is open and Camera has "Target Texture" enabled
- The Canvas component's warning box is missing an apostrophe when Additional Shader Channels is set to "Normal" and "Tangent" with Render Mode set to "Screen Space - Overlay"
Resolution Note:
You are including a URP specific file and then compiling with BiRP which is not supported. The include guards do not work because they are separate files. You must conditionally remove the include you want based upon the active target. One example would be:
#ifndef BUILTIN_TARGET_API
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
#endif