# activeRenderPipelineCreated

> Delegate that you can use to invoke custom code right after RenderPipelineManager.currentPipeline is created.

## Definition

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

```csharp
public static event Action activeRenderPipelineCreated
```

### Remarks

Unity does not switch the render pipeline immediately when you set [GraphicsSettings.currentRenderPipeline](/engine/6000.0/script-reference/unityengine/rendering/graphicssettings/currentrenderpipeline.md) or [QualitySettings.renderPipeline](/engine/6000.0/script-reference/unityengine/qualitysettings/renderpipeline.md). Unity only instantiate a new `RenderPipeline` instance the first time any [Camera](/engine/6000.0/script-reference/unityengine/camera.md) renders after you set a new `RenderPipelineAsset`. You can subscribe to this event to know that `RenderPipeline`  is created. To access the current pipeline object you can rely on [RenderPipelineManager.currentPipeline](/engine/6000.0/script-reference/unityengine/rendering/renderpipelinemanager/currentpipeline.md) which will point to the newly created `RenderPipeline`.

### Examples

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


public class CurrentRenderPipelineCreatedExample : MonoBehaviour
{
    void Start()
    {
        RenderPipelineManager.activeRenderPipelineCreated += RenderPipelineManager_activeRenderPipelineCreated;
    }

    private void OnDestroy()
    {
        RenderPipelineManager.activeRenderPipelineCreated -= RenderPipelineManager_activeRenderPipelineCreated;
    }

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