Search Issue Tracker
Won't Fix
Votes
0
Found in
2020.2.0b6
2020.3
2020.3.5f1
2021.1
2021.2
Issue ID
1332499
Regression
Yes
Selecting a Shader throws an "Invalid conditional expression" error from Varyings.hlsl
How to reproduce:
1. Open the user's attached "ShaderGraphErrorsAfterUpgrading 2019.4.25.zip" project
2. In the Project window go VFX -> _Materials and click on "Shader_Graph_DiscoBall_BaseColor_NoFog"
3. Observe the Console and the Inspector for "Shader_Graph_DiscoBall_BaseColor_NoFog"
Expected results: There are no errors in the Console and in the Inspector for "Shader_Graph_DiscoBall_BaseColor_NoFog"
Actual results: There are 2 errors in the Console and in the Inspector for "Shader_Graph_DiscoBall_BaseColor_NoFog"
Reproducible with: 2020.2.0b6, 2020.3.7f1, 2021.1.5f1, 2021.2.0a14
Not reproducible with: 2018.4.33f1, 2019.4.26f1, 2020.2.0b5
Note:
-The errors are:
Shader error in 'DiscoBall_BaseColor_NoFog': Invalid conditional expression
-
Metthatron
Jan 05, 2022 09:10
I haven't seen then files but I am assuming you are using a custom HLSL inside the Shader graph. I have encountered this error while exploring the UOP repository in URP 10.2.+, there is a leap in URP's handling of of branching in custom HLSL Shaders.
For example:
#if SHADERGRAPH_PREVIEW
should become:
#if defined(SHADERGRAPH_PREVIEW)
(Note : you don't need to do the same for #ifndef branch ...if not defined.)
and this solved my errors.
Hope this helps anyone coming across it.
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
- The Scene View becomes gray and "NullReferenceException" errors are thrown when attaching the Unity Editor process to RenderDoc
- Memory usage rapidly rises when changing colors in the color wheel
- Physically Based Sky's Horizon and Zenith Tint Color Selection Bars don't have immediate access to color pickers
- EmptyAdditionalLightShadowmapTexture leaks from memory when URP quality level is changed using QualitySettings.SetQualityLevel
- Referenced ScriptableObject field does not get updated and cannot be set to "None" when there are no Objects of that type
Resolution Note (2021.2.X):
Neither Shader Graph, nor URP supports upgrading generated shaders. Regenerating the shader from an upgraded shader graph should work.