# activeRenderPipelineDisposed

> Delegate that you can use to invoke custom code right before RenderPipelineManager.currentPipeline is disposed.

## Definition

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

```csharp
public static event Action activeRenderPipelineDisposed
```

### Remarks

Whenever you switch [GraphicsSettings.currentRenderPipeline](/engine/6000.5/script-reference/unityengine/rendering/graphicssettings/currentrenderpipeline.md) or [QualitySettings.renderPipeline](/engine/6000.5/script-reference/unityengine/qualitysettings/renderpipeline.md), Unity will dispose the current `RenderPipeline` before instantiate the new `RenderPipeline`. You can subscribe to this event to know when current `RenderPipeline` will be disposed. To access the currently disposing `RenderPipeline` object you can rely on [RenderPipelineManager.currentPipeline](/engine/6000.5/script-reference/unityengine/rendering/renderpipelinemanager/currentpipeline.md).

### Examples

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

public class CurrentRenderPipelineDisposedExample : MonoBehaviour
{
    void Start()
    {
        RenderPipelineManager.activeRenderPipelineDisposed += RenderPipelineManager_activeRenderPipelineDisposed;
    }

    private void OnDestroy()
    {
        RenderPipelineManager.activeRenderPipelineDisposed -= RenderPipelineManager_activeRenderPipelineDisposed;
    }

    private void RenderPipelineManager_activeRenderPipelineDisposed()
    {
        Debug.Log($"Render Pipeline {RenderPipelineManager.currentPipeline.GetType().Name} is disposing.");
    }
}
```
