# Introduction to render pipelines

> Understand render pipelines and rendering paths.

> **Important:**
>
> The Built-In Render Pipeline is deprecated and will be made obsolete in a future release.
>
> It remains supported, including bug fixes and maintenance, through the full Unity 6.7 LTS lifecycle.
>
> For more information on migration, refer to [Migrating from the Built-In Render Pipeline to the Universal Render Pipeline](/engine/6000.7/manual/render-pipelines/universal-render-pipeline/introduction/installing-and-configuring-urp/upgrading-from-birp.md.md) and [Render pipeline feature comparison](/engine/6000.7/manual/render-pipelines/choose-a-render-pipeline/feature-comparison.md.md).

A render pipeline takes the objects in a scene and displays them on-screen.

## How a render pipeline works


**Stages of a render pipeline workflow.:**
![](/api/media?file=/engine/6000.7/media/images/BestPracticeLightingPipeline3.svg)

A render pipeline follows these steps:

1. Culling, where the pipeline decides which objects from the scene to display. This usually means it removes objects that are outside the camera view ([frustum culling](/engine/6000.7/manual/cameras/camera-view/understanding-frustum.md)) or hidden behind other objects ([occlusion culling](/engine/6000.7/manual/cameras/occlusion-culling/occlusion-culling.md)).
2. Rendering, where the pipeline draws the objects with their correct lighting into pixel buffers.
3. Post-processing, where the pipeline modifies the pixel buffers to generate the final output frame for the display. Example of modifications include color grading, bloom, and depth of field.

A render pipeline repeats these steps each time Unity generates a new frame.

## Render pipelines in Unity

In Unity, you can choose between different render pipelines. Unity provides three prebuilt render pipelines with different capabilities and performance characteristics, or you can create your own.

The [Universal Render Pipeline (URP)](/engine/6000.7/manual/render-pipelines/universal-render-pipeline.md) is a Scriptable Render Pipeline that you can customize. It lets you create scalable graphics across a wide range of platforms.


**URP 3D sample:**
![](/api/media?file=/engine/6000.7/media/images/render-pipelines-overview-urp.jpg)

The [High Definition Render Pipeline (HDRP)](/engine/6000.7/manual/render-pipelines/high-definition-render-pipeline.md) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.


**HDRP 3D sample: The Enemies Unity demo:**
![](/api/media?file=/engine/6000.7/media/images/render-pipelines-overview-hdrp.jpg)

The [Built-In Render Pipeline](/engine/6000.7/manual/render-pipelines/built-in-render-pipeline.md) is a general purpose render pipeline with limited options for customization.


**Built-In Render Pipeline 3D sample:**
![](/api/media?file=/engine/6000.7/media/images/render-pipelines-overview-builtin.jpg)

The Scriptable Render Pipelines let you inspect and change how culling, rendering, and post-processing work directly in C#. This level of customization is also possible in the Built-In Render Pipeline when you [purchase access to the Unity engine's source code](https://unity.com/products/source-code) in C++.

If you're an experienced graphics developer with advanced customization needs, you can also [create your own custom render pipeline](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@17.0/manual/srp-custom.html) using Unity's Scriptable Render Pipeline API.

Refer to [Choose a render pipeline](/engine/6000.7/manual/render-pipelines/choose-a-render-pipeline/pipeline.md) for more information about choosing the right pipeline for your project.

## Additional resources

* [Introduction to Lighting and Rendering tutorial](https://learn.unity.com/tutorial/introduction-to-lighting-and-rendering-2019-3)
