

Unity’s rendering system has evolved significantly over the years. Instead of relying only on the built-in render pipeline, Unity now offers the Scriptable Render Pipeline (SRP), which gives developers much more control over how objects are rendered.
If you’ve heard terms like URP or HDRP, they are built on top of SRP. Understanding the basics of SRP helps you understand modern Unity rendering.
Scriptable Render Pipeline is a customizable rendering framework. Instead of Unity deciding exactly how rendering works internally, SRP allows developers to define rendering behavior through C# scripts.
In simple terms, SRP lets you control:
Built-in Pipeline:
Scriptable Render Pipeline:
Unity provides two main SRP implementations:
Both are built using SRP principles.
At a high level, SRP is made of three main parts:
This asset stores configuration settings and creates the pipeline instance.
This is where the actual rendering logic is defined.
This object communicates with Unity’s low-level rendering system.
Below is a minimal example of creating a very basic custom render pipeline.
using UnityEngine;
using UnityEngine.Rendering;
[CreateAssetMenu(menuName = "Rendering/Custom Render Pipeline")]
public class SimpleRenderPipelineAsset : RenderPipelineAsset
{
protected override RenderPipeline CreatePipeline()
{
return new SimpleRenderPipeline();
}
}
using UnityEngine;
using UnityEngine.Rendering;
public class SimpleRenderPipeline : RenderPipeline
{
protected override void Render(
ScriptableRenderContext context,
Camera[] cameras)
{
foreach (Camera camera in cameras)
{
context.SetupCameraProperties(camera);
CommandBuffer cmd = new CommandBuffer();
cmd.ClearRenderTarget(true, true, Color.black);
context.ExecuteCommandBuffer(cmd);
cmd.Release();
context.Submit();
}
}
}
This example clears the screen with black but does not render any geometry. It shows the structure of an SRP.
Unity will now use your custom rendering logic.
You might consider SRP if:
Command Buffers allow you to inject commands into the existing pipeline. SRP allows you to define the entire pipeline.
If you only need small rendering changes, Command Buffers may be enough. If you need full control, SRP is the solution.
Scriptable Render Pipeline gives developers deep control over Unity’s rendering system. While the built-in pipeline works well for many projects, SRP opens the door to custom rendering techniques and performance optimization.
You don’t need to write your own SRP to benefit from it. Using URP or HDRP already gives you the advantages of the Scriptable Render Pipeline architecture.