# Graph Settings tab reference Use the **Graph Settings** tab in the [Graph Inspector](Internal-Inspector.md) window to change settings that affect the current shader graph as a whole. ## General properties | Property | Description | | :--- | :--- | | **Precision** | Select a default [Precision Mode](Precision-Modes.md) for the entire graph. You can override the precision mode at the node level in your graph. | | **Preview** | Select your preferred preview mode for the nodes that support preview. The options are: This property is available only in [sub graphs](Sub-graph.md). | ## Target Settings Add or remove graph targets to the current shader graph and set target properties according to the selected material type. ### Active Targets A list that contains the [graph targets](Graph-Target.md) selected for the current shader graph. Select the **Add (+)** and **Remove (−)** buttons to add or remove **Active Targets**. Shader Graph supports the following target types: * **Custom Render Texture**: Shaders for updating [Custom Render Textures](Custom-Render-Texture.md). * **Built-in**: Shaders for Unity’s [Built-In Render Pipeline](xref:built-in-render-pipeline). * **Universal**: Shaders for the [Universal Render Pipeline (URP)](xref:um-universal-render-pipeline), available only if your project uses URP. * **HDRP**: Shaders for the [High Definition Render Pipeline (HDRP)](xref:high-definition-render-pipeline), available only if your project uses HDRP. [!include[birp-deprecation-message](snippets/birp-deprecation-message.md)] ### Target properties Each graph target added in the list of **Active Targets** has its own set of properties. | Property | Description | | :--- | :--- | | **Material** | Selects a material type for the target. The available options depend on the current target type. | | Other properties (contextual) | A set of material and shader related properties that correspond to the current target type and the **Material** you select for the target. | | **Custom Editor GUI** | Renders a custom editor GUI in the Inspector window of the material. Enter the name of the GUI class in the field. For more information, refer to [Control material properties in the Inspector window](xref:um-writing-shader-display-types) and [Custom Editor block in ShaderLab reference](xref:um-sl-custom-editor). | | **Support VFX Graph** | Enables this shader graph to support the [Visual Effect Graph](https://docs.unity3d.com/Packages/com.unity.visualeffectgraph@latest) to render particles.
**Note**: This option is only available for certain material types. | ## Preprocessor Directives Use the **Preprocessor Directives** foldout to add **Pragmas**, **Local Defines**, and **Graph Includes** to the shader. This section is not available in [sub graphs](Sub-graph.md). | Property | Description | | :--- | :--- | | **Pragmas** | A list of pragma directives to add to the shader. Enter what comes after `#pragma`, for example `enable_debug_symbols`. For more information, refer to [HLSL pragma directives reference](xref:um-sl-pragma-directives). | | **Local Defines** | A list of `#define` directives to add to the shader. Enter what comes after `#define`, for example `_DEBUG` or `MAX_STEPS 32`. Toggle the checkbox next to a define to include it in or exclude it from the shader, without removing it from the list. For more information, refer to [Pass information to shader compilers in HLSL](xref:um-writing-shader-programs-pragma-directives). | | **Graph Includes** | A list of HLSL files to include in the shader. Toggle **with pragmas** to also include any pragma directives defined in the file. For more information, refer to [Reuse HLSL code](xref:um-writing-shader-include-shader-program). | For more information and examples, refer to [Preprocessor directives in Graph Settings](https://discussions.unity.com/t/preprocessor-directives-in-graph-settings/1719940). ## Additional resources - [Precision Modes](Precision-Modes.md) - [Graph targets](Graph-Target.md)