diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Customizing-HDRP-materials-with-Shader-Graph.md b/com.unity.render-pipelines.high-definition/Documentation~/Customizing-HDRP-materials-with-Shader-Graph.md index ec884cc10df..75560c223c8 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Customizing-HDRP-materials-with-Shader-Graph.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Customizing-HDRP-materials-with-Shader-Graph.md @@ -66,6 +66,24 @@ You should only expose a property if you intend to change it in the Inspector wh If a property is not exposed, you can still edit it. To edit the property for every Material instance that uses the selected Shader, open the Shader Graph Asset and edit the property directly in the Blackboard. To edit the property for a single Material instance that uses the Shader, use a script. +**:warning: HDRP reserves a set of property names that you should not use in the Blackboard. If you use any of them, the Material will most likely not work correctly. +For the list of restricted property names and their uses, see the following table:** + +Property Name | HDRP Usage +--- | --- +`_EmissionColor` | Global illumination emission color. +`_BaseColor` | Global illumination alpha clip. +`_BaseColorMap` | Global illumination alpha clip. +`_RenderQueueType` | The render queue type HDRP uses to schedule the Material in the render queue. +`_UseShadowThreshold` | HDRP internal. +`_RequireSplitLighting` | HDRP internal. +`_ReceivesSSR` | Surface Options. +`_TransparentDepthPrepassEnable` | Surface Options. +`_TransparentDepthPostpassEnable` | Surface Options. +`_SurfaceType` | Surface Options. +`_DoubleSidedEnable` | Surface Options. +`_AlphaCutoffEnable` | Surface Options. + ### Material properties in concrete nodes @@ -95,4 +113,4 @@ This system is great to avoid duplicating graphs but it have some problem relate - When you modify the properties of the Master Mode in a Shader Graph, Unity does not synchronize them with Materials unless the Material is open in the Inspector. This means that, when you change certain properties in the Master Node settings, like **Material Type**, Materials that are not open in the Inspector fall out of sync, which breaks the rendering of these Materials. To fix the rendering and synchronize the properties of a Material with its Shader Graph, you can do the following: - - Open the Material in the Inspector, change the value of one of its properties, and then change it back. This triggers a sync between the master node and the Material, and fixes the Material. - - Call `HDEditorUtils.ResetMaterialKeywords(Material)` from a C# script in your Project. This synchronizes the properties of the Material you pass in with the Material's Shader Graph. \ No newline at end of file + - Call `HDEditorUtils.ResetMaterialKeywords(Material)` from a C# script in your Project. This synchronizes the properties of the Material you pass in with the Material's Shader Graph.