Shader Graph null ref in HDRP when setting Material Type, causes graph to crash

.

THIS IS FIXED IN 2023.3.0b5

.

In a HDRP Lit Shader Graph, when changing Material Type in the Surface Options, it throws a null reference exception and the graph window immediately closes. Adding new material types, such as subsurface scattering, translucency, etc, is not possible, because the graph closes immediately, preventing you from saving the change.

To reproduce the error, simply create a new HDRP Lit Shader Graph, and then try to change the Material Type.

NullReferenceException: Object reference not set to an instance of an object
UnityEditor.ShaderGraph.Drawing.GraphEditorView.<.ctor>b__57_14 () (at ./Library/PackageCache/com.unity.shadergraph/Editor/Drawing/Views/GraphEditorView.cs:272)
UnityEditor.ShaderGraph.Drawing.MaterialGraphView.ChangeTargetSettings () (at ./Library/PackageCache/com.unity.shadergraph/Editor/Drawing/Views/MaterialGraphView.cs:133)
UnityEditor.ShaderGraph.Drawing.Inspector.PropertyDrawers.GraphDataPropertyDrawer+<>c__DisplayClass10_0.<CreateGUI>b__0 () (at ./Library/PackageCache/com.unity.shadergraph/Editor/Drawing/Inspector/PropertyDrawers/GraphDataPropertyDrawer.cs:263)
UnityEditor.Rendering.HighDefinition.ShaderGraph.SubTargetPropertyBlock+<>c__DisplayClass10_0`1[Data].<AddProperty>b__1 (UnityEngine.UIElements.ChangeEvent`1[T] evt) (at ./Library/PackageCache/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SubTargetPropertyBlock.cs:90)
2 Likes

you can change the tag of your post to