# SetShaderMode(BuiltinShaderType, BuiltinShaderMode)

> Set built-in shader mode.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.Rendering](/engine/6000.0/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public static void SetShaderMode(BuiltinShaderType type, BuiltinShaderMode mode)
```

### Parameters

**** (\[BuiltinShaderType]\(/engine/6000.0/script-reference/unityengine/rendering/builtinshadertype)): Built-in shader type to change.**** (\[BuiltinShaderMode]\(/engine/6000.0/script-reference/unityengine/rendering/builtinshadermode)): Mode to use for built-in shader.

### Remarks

By default, certain parts of rendering pipeline in Unity (e.g. deferred shading light calculations) use built-in shader. However, it is possible to setup a custom shader to replace the built-in functionality, or to turn off support for it altogether.

When setting [BuiltinShaderMode.UseCustom](/engine/6000.0/script-reference/unityengine/rendering/builtinshadermode/usecustom.md), you also need to indicate which shader to use. See [GraphicsSettings.SetCustomShader](/engine/6000.0/script-reference/unityengine/rendering/graphicssettings/setcustomshader.md).

Additional Resources: [GraphicsSettings.GetShaderMode](/engine/6000.0/script-reference/unityengine/rendering/graphicssettings/getshadermode.md), [GraphicsSettings.SetCustomShader](/engine/6000.0/script-reference/unityengine/rendering/graphicssettings/setcustomshader.md), [Graphics Settings](/engine/6000.0/manual/unity-editor/editor-settings-reference/comp-manager-group/class-graphics-settings.md).
