A Scriptable Render Pipeline (SRP) is a Unity engine framework that allows developers to author and control custom, high-performance rendering pipelines using C# scripts, enabling tailored graphics for specific platforms or visual styles. It replaces Unity's legacy fixed-function pipeline with a modular, code-driven architecture, providing fine-grained control over the rendering loop, lighting passes, and post-processing effects. This flexibility is crucial for simulation environments requiring specific visual fidelity or optimized performance for robotic training.
Glossary
Scriptable Render Pipeline (SRP)

What is Scriptable Render Pipeline (SRP)?
A technical definition of the Unity framework for authoring custom, high-performance rendering logic.
Within Sim-to-Real Transfer Learning, SRP enables the procedural generation of diverse and physically plausible visual conditions. Developers can script pipelines to dynamically adjust global illumination, shader complexity, and material properties as part of domain randomization strategies. This controlled variation in lighting, shadows, and reflections during training helps create robust perception models that generalize effectively to unpredictable real-world visual environments, bridging the digital-to-physical gap.
Core Features of SRP
The Scriptable Render Pipeline (SRP) is a Unity framework for authoring custom, high-performance rendering logic in C#. It provides the foundational control needed to build tailored graphics pipelines for specific platforms or visual styles, such as those required for high-fidelity simulation environments.
Programmable Pipeline Control
SRP replaces Unity's fixed, built-in renderer with a C#-scriptable architecture. Developers write C# scripts that define the exact sequence of rendering commands (RenderPasses) executed each frame. This allows for:
- Complete customization of the rendering loop (culling, sorting, drawing).
- Fine-grained control over GPU command buffers.
- Optimization for specific visual styles (e.g., stylized, photorealistic) or hardware targets (mobile, VR, high-end PC).
- The creation of entirely new rendering techniques not possible with the built-in pipeline.
Render Graph System
Modern SRP implementations (like URP and HDRP) utilize a declarative Render Graph system. Instead of imperative command lists, developers declare rendering resources (textures, buffers) and passes, and the system automatically:
- Manages memory lifetime and aliasing of temporary resources.
- Handles synchronization and data dependencies between passes.
- Enables asynchronous compute scheduling.
- This eliminates common driver overhead and memory waste, providing deterministic, high-performance rendering essential for complex, physics-based simulations.
Extensible Post-Processing & Effects
SRP provides a stack-based architecture for full-screen post-processing effects that are tightly integrated with the pipeline's rendering data. Effects are implemented as RenderPasses and can access pipeline buffers like depth, normals, and motion vectors. This enables:
- High-quality Ambient Occlusion (HBAO, SSAO).- Temporal Anti-Aliasing (TAA) for stable, high-quality image reconstruction.
- Bloom, Depth of Field, and Color Grading with HDR support.
- Custom effects like simulated sensor noise or atmospheric scattering for environmental realism.
- Performance is managed by the Render Graph, allowing effects to be toggled or configured per-camera.
Multi-Platform & Scalability (URP/HDRP)
SRP is the foundation for Unity's two primary production pipelines, designed for different performance and fidelity targets:
- Universal Render Pipeline (URP): Optimized for performance and broad platform support (mobile, VR, WebGL, console). It's highly scalable and ideal for simulations requiring wide deployment or high frame rates.
- High Definition Render Pipeline (HDRP): Designed for high-fidelity graphics on compute-capable platforms (PC, console). It supports advanced features like ray tracing, volumetric lighting, and decal systems crucial for photorealistic digital twins and training environments.
- Both are built on the same SRP core, allowing asset and code sharing.
Integration with Simulation Systems
SRP's programmability allows deep integration with non-graphics simulation systems, which is critical for Sim2Real workflows:
- Custom Passes can render non-visual data like semantic segmentation maps, surface normals, or depth buffers for perception training.
- Shader code can be driven by physics simulation data (e.g., deformation, wear).
- Dynamic Resolution and Level of Detail (LOD) systems can be tuned based on simulation complexity, not just camera distance.
- The pipeline can be configured to maximize throughput for headless batch rendering used in large-scale, parallelized reinforcement learning.
How the Scriptable Render Pipeline Works
The Scriptable Render Pipeline (SRP) is the programmable core of Unity's modern graphics engine, enabling developers to author custom, high-performance rendering logic for specific platforms and visual styles.
A Scriptable Render Pipeline (SRP) is a Unity engine framework that allows developers to author and control custom, high-performance rendering pipelines using C# scripts, enabling tailored graphics for specific platforms or visual styles. It replaces the engine's fixed-function rendering with a data-oriented, C#-scriptable architecture. Developers write Render Pipeline Assets to define global settings and Render Pipeline Instances containing the core Render() method, which orchestrates culling, filtering, and drawing commands sent to the low-level graphics API.
The SRP architecture provides deterministic control over the entire rendering sequence, from shadow casting and lighting to post-processing. This enables the creation of specialized pipelines like the High-Definition Render Pipeline (HDRP) for AAA visuals or the Universal Render Pipeline (URP) for mobile performance. For simulation environments, SRP allows precise tuning of global illumination, material shading, and sensor output (e.g., generating perfect segmentation masks) to match the fidelity requirements of sim-to-real transfer learning pipelines.
SRP vs. Legacy Render Pipeline
A technical comparison of the modern, scriptable rendering framework against Unity's older built-in system.
| Feature / Aspect | Scriptable Render Pipeline (SRP) | Legacy Built-In Render Pipeline |
|---|---|---|
Architectural Paradigm | Data-oriented, C# script-controlled pipeline | Fixed, monolithic pipeline in C++ engine code |
Customization & Control | ||
Platform-Specific Optimization | ||
Render Pass Abstraction | Explicit, programmable passes (e.g., Forward, Deferred, Shadow) | Implicit, hardcoded passes |
Shader Compatibility | Requires SRP-compatible shaders (e.g., URP/HDRP Lit) | Uses built-in Standard shader or legacy surface shaders |
Performance Profiling | Integrated with the Frame Debugger and Profiler for pass-level inspection | Limited, high-level profiling only |
Batch Rendering Control | Direct API control (e.g., ScriptableRenderContext.DrawRenderers) | Automatic, opaque batching with limited override |
Real-time Global Illumination | Supported via specific SRP implementations (e.g., HDRP) | Limited to precomputed lightmaps or basic real-time GI |
Post-Processing Integration | Native, pass-integrated stack (Volume framework) | Add-on stack, less integrated with rendering |
Primary Use Cases | High-fidelity graphics (HDRP), scalable mobile/VR (URP), custom research pipelines | General-purpose 3D, 2D, rapid prototyping, legacy project support |
Common SRP Implementations and Use Cases
The Scriptable Render Pipeline (SRP) is a foundational Unity framework enabling custom, high-performance rendering. Its primary implementations are tailored for specific visual styles and performance targets.
Use Case: Simulation & Digital Twins
SRP is critical for Simulation Environment Generation and Digital Twin creation, where visual fidelity and performance must be balanced for training and analysis.
- Visual Fidelity for Training: HDRP is used to create photorealistic virtual environments for training computer vision models and robotic sim-to-real transfer learning, where accurate lighting, materials, and shadows are essential for perception systems.
- Performance for Scalability: URP or custom Lightweight Renderers enable the creation of vast, procedurally generated training terrains that must run at high frame rates for reinforcement learning in parallelized simulations. Techniques like Level of Detail (LOD) and efficient culling are programmable via SRP.
- Specific Features: Control over render scale, custom post-processing for sensor simulation (e.g., generating synthetic depth maps), and the ability to render multiple camera views (for multi-agent perception) are all facilitated through SRP scripting.
Use Case: Mobile & Cross-Platform AR/VR
SRP, particularly URP, is the standard for resource-constrained platforms where balancing visual quality with thermal and battery limits is paramount.
- Optimized Mobile Rendering: URP's forward rendering path and efficient shader architecture are designed for mobile GPUs. It supports essential mobile features like dynamic batching and a streamlined lighting model.
- AR Foundation Integration: URP provides the rendering backend for Unity's AR Foundation framework, handling camera rendering, background composition, and lighting estimation for AR apps on iOS and Android.
- VR Performance: For VR, low latency and consistent high frame rates (e.g., 90/120Hz) are critical. SRP allows developers to finely tune the rendering pipeline—reducing draw calls, implementing single-pass instanced rendering, and customizing MSAA—to meet VR's strict performance requirements on devices like Meta Quest and PlayStation VR2.
Frequently Asked Questions
Common questions about Unity's Scriptable Render Pipeline (SRP), a framework for authoring custom, high-performance rendering pipelines using C#.
The Scriptable Render Pipeline (SRP) is a Unity engine framework that allows developers to author and control custom, high-performance rendering pipelines using C# scripts, enabling tailored graphics for specific platforms or visual styles. It works by replacing Unity's legacy built-in renderer with a user-defined sequence of rendering commands. Developers write a RenderPipeline subclass (like UniversalRenderPipeline or HighDefinitionRenderPipeline) that orchestrates the rendering loop. This loop explicitly controls:
- Culling: Determining which objects are visible.
- Drawing: Issuing commands to the GPU for geometry, lighting, and post-processing.
- Resource Management: Allocating and releasing textures, buffers, and compute shaders.
By scripting this process, SRP provides deterministic control over performance and visual output, moving away from a "one-size-fits-all" approach to a data-driven, project-specific graphics architecture.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
These core concepts and technologies are essential for building and optimizing the high-fidelity virtual environments used to train robotic systems, directly supporting the creation of robust simulation-to-real transfer pipelines.
Render Pipeline
A Render Pipeline is the core sequence of operations a graphics engine executes to transform 3D scene data—including geometry, materials, and lighting—into a final 2D image for display. It defines the entire graphics workflow, from culling and batching to shading and post-processing. The Scriptable Render Pipeline (SRP) is a modern, programmable evolution of this concept, allowing developers to author custom pipelines in high-level code (like C#) for specific visual styles or performance targets, rather than being locked into a fixed, built-in pipeline.
Physically Based Rendering (PBR)
Physically Based Rendering (PBR) is a shading and lighting model that uses real-world physical properties—such as albedo, metallicness, and roughness—to describe materials. This ensures consistent, realistic appearance under any lighting condition, which is critical for creating visually accurate simulation environments. PBR workflows are a foundational element of modern SRP implementations, as they provide the material standard necessary for high-fidelity digital twins and training scenes that closely mimic real-world visual complexity.
Global Illumination (GI)
Global Illumination (GI) refers to a group of algorithms that simulate how light bounces and interacts within a scene, accounting for indirect lighting, color bleeding, and soft shadows. Accurate GI is paramount for photorealism in simulation. Modern SRPs integrate advanced GI techniques—like real-time ray tracing or baked lightmaps—to create lighting conditions that train robotic perception systems to handle complex shadows, reflections, and ambient light, directly improving the robustness of vision-based policies during sim-to-real transfer.
Shader Graph
A Shader Graph is a visual, node-based interface for authoring custom shaders without writing low-level shader code (like HLSL). It allows artists and technical developers to create complex surface, post-process, and procedural effects by connecting nodes that represent mathematical and graphics operations. Shader Graphs are often tightly integrated with an SRP, providing the accessible, programmable material layer that brings a custom pipeline's visual design to life, enabling rapid iteration on environmental aesthetics for simulation.
Entity Component System (ECS)
The Entity Component System (ECS) is a data-oriented software architecture that structures application code by separating entities (simple IDs), components (pure data), and systems (logic that processes components). ECS is designed for high performance and scalability through cache efficiency and parallelization. In the context of simulation environment generation, ECS is often used alongside a custom SRP to manage tens of thousands of procedurally generated objects, lights, and agents with minimal overhead, enabling massively parallel training scenarios.
Post-Processing Stack
A Post-Processing Stack is a suite of full-screen image effects applied to the final rendered frame to enhance visual quality or create specific stylistic moods. Common effects include:
- Bloom (light bleeding)
- Depth of Field (optical focus simulation)
- Color Grading (overall tone adjustment)
- Ambient Occlusion (contact shadows) In an SRP, the post-processing stack is fully scriptable, allowing developers to tailor these effects—or add custom ones—to match the visual characteristics of target real-world environments, which is a subtle but powerful form of domain randomization for perception training.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us