# activeRenderPipelineTypeChanged

> Delegate that you can use to invoke custom code when Unity changes the active render pipeline, and the new RenderPipeline has a different type to the old one.

## Definition

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

```csharp
public static event Action activeRenderPipelineTypeChanged
```

### Remarks

If the `RenderPipeline` that Unity uses to render a frame is a different type to the one from the previous frame, Unity executes the methods in this delegate's invocation list.

If you are writing a tool that relies on the resources or results of a type of `RenderPipeline`, you can use this delegate to be notified of any change.

The following code example demonstrates how to add a method to this delegate's invocation list, and later remove it.

```csharp
using UnityEngine;
using UnityEngine.Rendering;

public class ExampleClass : MonoBehaviour
{
    void Start()
    {
        RenderPipelineManager.activeRenderPipelineTypeChanged += OnRenderPipelineTypeChanged;
    }

    void OnRenderPipelineTypeChanged()
    {
        // Put the code that you want to execute everytime the Render Pipeline used is changed
        // You can know which pipeline is currently active by calling RenderPipelineManager.currentPipeline
    }

    void OnDestroy()
    {
        RenderPipelineManager.activeRenderPipelineTypeChanged -= OnRenderPipelineTypeChanged;
    }
}
```

Additional Resources: [How to get, set, and configure the active render pipeline](/engine/6000.7/manual/render-pipelines/choose-a-render-pipeline/srp-setting-render-pipeline-asset.md), [GraphicsSettings.currentRenderPipeline](/engine/6000.7/script-reference/unityengine/rendering/graphicssettings/currentrenderpipeline.md), [GraphicsSettings.defaultRenderPipeline](/engine/6000.7/script-reference/unityengine/rendering/graphicssettings/defaultrenderpipeline.md), [QualitySettings.renderPipeline](/engine/6000.7/script-reference/unityengine/qualitysettings/renderpipeline.md), [RenderPipelineManager.currentPipeline](/engine/6000.7/script-reference/unityengine/rendering/renderpipelinemanager/currentpipeline.md).
