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
- Sprite Preview is broken when the Sprite is too tall or too wide
- Objects are invisible in Scene view when using Wireframe Shading Mode
- The property of a component becomes read-only when it is bound to "PropertyStreamHandle"
- Physics.Raycast does not work when used on the whole model
- Shader Graph changes the Position of Prefab instances in Play mode
Resolution Note (2021.2.X):
Neither Shader Graph, nor URP supports upgrading generated shaders. Regenerating the shader from an upgraded shader graph should work.