Render pipeline can be a bit difficult to choose when starting out with your game. Unity has 3 render pipelines built-in, URP and HDRP. Switching from the built-in pipeline to URP or HDRP can boost a lot of features in your game. But whether you should go for URP or HDRP is a touch choice unless you understand the reason these pipelines exist in Unity. In this post, we will compare both URP and HDRP in detail.
What is URP and HDRP?
Both Universal render pipeline and High-definition render pipeline are types of graphics pipeline. Graphics pipelines are the steps a software needs to go through to display a 3D scene to a 2D screen.
Universal render pipeline is built to optimize graphics rendering across all platforms. Whereas HDRP is built to use the hardware capabilities to render high-definition graphics on capable platforms.
In general, URP is designed for publishing games to multiple hardware and HDRP for high end hardware with realistic graphics
You can import URP and HDRP from the package manager.
Performance Comparison
If you have the same scene in both URP and HDRP, you will find that URP gives better performance compared to HDRP. As per this post by G_trex in the Unity forum you get a 15% performance boost when you switch from built-in to URP and you lose the performance gain when switching to HDRP.
But this is just one side of the story. If you have capable new generation hardware you won’t feel the performance dip. You can match HDRPs performance with URP using better optimized batches and static draw calls.
It’s not right to compare HDRP and URP as they are designed for different hardware. Also, HDRP has lot of post processing effects compared to URP to make the scene look more photorealistic.
Hardware requirement for URP and HDRP
This is the major advantage of URP. It’s designed to perform well in all types of hardware. There is no specific hardware requirement for URP. If your PC can run Unity then you can choose URP as your render pipeline.
HDRP on the other hand needs specific hardware to run your game. Here are some basic requirements to run a HDRP game
- Windows and Windows Store, with DirectX 11 or DirectX 12 and Shader Model 5.0
- Modern consoles (Sony PS4 and Microsoft Xbox One)
- MacOS (minimum version 10.13) using Metal graphics
- Linux and Windows platforms with Vulkan
If you need Raytracing then HDRP has some more requirements. You need the following graphics card to run Ray tracing
- NVIDIA GeForce RTX 2060, RTX 2060 Super, RTX 2070, RTX 2070 Super, RTX 2080, RTX 2080 Super, RTX 2080 Ti, and NVIDIA TITAN RTX
- NVIDIA Quadro RTX 3000 (laptop only), RTX 4000, RTX 5000, RTX 6000, RTX 8000
- NVIDIA GeForce GTX
- Turing generation: GTX 1650, GTX 1660 Super, GTX 1660 Ti
- Pascal generation: GTX 1060, GTX 1070, GTX 1080, GTX 1080 Ti
- NVIDIA TITAN V
- NVIDIA Quadro: P4000, P5000, P6000, V100
URP does not support ray tracing.
Feature comparison
Camera
Feature | URP | HDRP |
---|---|---|
HDR | Yes | Yes. |
MSAA | Yes | Yes. HDRP supports |
Physical Camera | Yes | Yes. HDRP uses physical camera properties |
Dynamic Resolution | Yes | |
Multi Display | Yes | Yes |
Stacking | In research | Not supported |
Flare Layer | Not supported | Not supported |
Depth Texture | Yes | Yes |
Depth + Normals Texture | Not supported | Yes |
Color Texture | Yes | Yes |
Motion vectors | In research | Yes |
Realtime Lights
Features | URP | HDRP |
---|---|---|
Light Types | ||
Directional | Yes | Yes |
Spot | Yes | Yes. Supports the following shapes: |
Point | Yes | Yes |
Area | Rectangle (Baked) | Yes.(rectangle,tube and disk) |
Inner Spot Angle | Yes | Yes |
Shading | Single Pass | Tiled/Clustered |
Culling | ||
Per-Object | Yes | Yes |
Per-Layer | Yes | Yes |
Light Limits | See Quality Settings | |
Main Directional Light | 1 | Unlimited, but HDRP only supports shadowing for one Directional Light at a time. |
Per Object | 8 (4 for GLES2). Can be point, spot, and directional Lights. | Unlimited |
Per Camera | 256 (32 on mobile platforms) | Unlimited |
Attenuation | InverseSquared | InverseSquared |
Vertex LIghts | Yes | Not supported |
SH Lights | In research | Not supported |
Realtime Shadows
Features | URP | HDRP |
---|---|---|
Light Types | ||
Directional | Yes – only 1 | Yes, but only one at a time. |
Spot | Yes | Yes |
Point | In research | Yes |
Area | Not supported | Yes, but only for the Rectangle shape. |
Shadow Projection | ||
Stable Fit | Yes | Yes |
Close Fit | In research | Yes |
Shadow Cascades | 1 to 4 | |
Number of Cascades | 1, 2 or 4 | Yes |
Control by Percentage | Yes | Yes |
Control by Distance | In research | Yes |
Shadow Resolve Type | ||
Lighting Pass | Yes | Yes |
Screen Space Pass | Yes | Yes |
Shadow Bias | Offsets shadowmap texels in the light direction + normal bias | Yes, Slope and normal |
Batching
Features | URP | HDRP |
---|---|---|
Static Batching (By Shader) | Yes | Yes |
Static Batching (By Material) | Yes | Yes |
Dynamic Batching | Yes | Yes |
Dynamic Batching (Shadows) | In research | Yes |
GPU Instancing | Yes | Yes |
Color Space | ||
Linear | Yes | Yes |
Gamma | Yes | Not supported |
Global Illumination
Features | URP | HDRP |
---|---|---|
Enlighten | Not supported | Not supported |
Enlighten Realtime | Not supported | Not supported |
Progressive CPU | Yes | Yes |
Progressive GPU | Yes | Yes |
Mixed Lighting | ||
Subtractive | Yes | Not supported |
Baked Indirect | Yes | Yes |
Shadow Mask | In research | Yes. This is a per-Light setting. |
Distance Shadow Mask | In research | Yes. This is a per-Light setting. |
Global Illumination (Light Probes) | ||
Blending | Yes | Yes |
Proxy Volume (LPPV) | Not supported | Yes |
Custom Provided | Yes | Yes |
Occlusion Probes | Yes | Yes |
Global Illumination (Reflection Probes) | ||
Realtime | Yes | Yes |
Baked | Yes | |
Sampling | See Reflection Hierarchy. | |
Simple | Yes | See Reflection Hierarchy. |
Blend Probes | In research | See Reflection Hierarchy. |
Blend Probes and Skybox | In research | Yes |
Box Projection | In research | HDRP supports the following other reflection methods: Planar Reflection Probes. Screen space reflection. Ray-traced reflection. Planar Reflection Probes. Screen space reflection. Ray-traced reflection. |
Other reflections | Not supported | |
Global Illumination (Lightmap Modes) | ||
Non-Directional | Yes | Yes |
Directional | Yes | Yes |
Global Illumination (Environmental) | ||
Source | Uses a single sky to bake global illumination, otherwise uses sky settings per Volume. You can create own sky via script and Material. | |
Skybox | Yes | Uses a single sky to bake global illumination, otherwise uses sky settings per Volume. You can create own sky via script and Material. |
Gradient | Yes | Uses a single sky to bake global illumination, otherwise uses sky settings per Volume. You can create own sky via script and Material. |
Color | Yes | |
Ambient Mode | Yes | |
Realtime | In research | Yes |
Baked | Yes |
Skybox
Features | URP | HDRP |
---|---|---|
Procedural | Yes | Yes. This sky type is deprecated, but you can still use if if you install the Procedural Sky Sample. |
6 Sided | Yes | Yes. The HDRI Sky supports cubemaps, which the Unity importer can build from 6-sided maps. |
Cubemap | Yes | See HDRI Sky |
Panoramic | Yes | Yes. The HDRI Sky supports cubemaps, which the Unity importer can build from panoramic maps. |
Physical | Yes | |
Gradient | Yes |
Fog
Features | URP | HDRP |
---|---|---|
Linear | Yes | Not supported |
Exponential | Yes | Yes. The Fog Override uses exponential fog. |
Exponential Squared | Yes | Not supported |
Local volumetric | Yes |
Visual Effects Components
Features | URP | HDRP |
---|---|---|
Halo | Not supported | Not supported |
Lens Flare | Not supported | Not supported |
Trail Renderer | Yes | Yes. You can also use the VFX Graph to create a custom trail effect. |
Billboard Renderer | Yes | Yes, but only with the VFX Graph. |
Projector | Not supported | Not supported |
Shaders
Features | URP | HDRP |
---|---|---|
Shader Graph | Yes | Yes |
Surface Shaders | Not supported | Not supported |
Camera-relative Rendering | In research | Yes. See Camera Relative Rendering. |
Built-in Lit Uber Shader | Lit Shader | |
Metallic Workflow | Yes | Yes |
Specular Workflow | Yes | Yes |
Surface Type and Blend Mode | ||
Opaque | Yes | Yes |
Faded (Alpha Blend) | Yes | Yes. HDRP also supports premultiplied alpha. |
Transparent | Yes | Yes |
Cutout | Yes | Yes |
Additive | Yes | Yes |
Multiply | Yes | Not supported |
Decals | Yes. To create decals in HDRP, you can use a decal Mesh or a decal projector. | |
Detail Maps | Yes. HDRP uses the mask and detail maps to combine maps such ask albedo, normals, and smoothness | |
Advanced Material Options | HDRP supports the following advanced Materials: Anisotropic Subsurface Scattering Iridescence Translucent | |
Surface Inputs | ||
Albedo (Base Map) | Yes | Yes |
Specular | Yes | Yes |
Metallic | Yes | Yes. Uses the mask map. |
Smoothness | Yes | Yes. Uses the mask map. |
Ambient Occlusion | Yes | Yes. Uses the mask map. |
Normal Map | Yes | Yes |
Detail Map | Not supported | Yes |
Detail Normal Map | Not supported | Yes |
Heightmap | Not supported | Yes. Supports both pixel and vertex displacement. |
Light Cookies | In research | Yes. Supports RGB Textures. |
Parallax Mapping | Not supported | Yes. Uses vertex displacement. |
Light Distance Fade | In research | Yes |
Shadow Distance Fade | In research | Yes |
Shadow Cascade Blending | In research | Yes |
GPU Instancing | Yes | Yes |
GPU Tessellation | Yes. Uses the LitTesselation Shader. | |
Double Sided GI | Yes | Yes |
Two Sided | Yes | Yes |
Order In Layer | Yes | Not supported |
Advanced Materials | ||
ClearCoat | Yes | |
Hair | Yes | |
Fabric | Yes | |
Render Pipeline Hooks | ||
Camera.RenderWithShader | Not supported | Not supported |
Camera.AddCommandBuffer | Not supported | Not supported |
(Camera.Remove[All]CommandBuffer) | ||
Camera.Render | Not supported | Yes |
Light.AddCommandBuffer | Not supported | Not supported |
(LightRemove[All]CommandBuffer) | ||
OnPreCull | Not supported | Not supported |
OnPreRender | Not supported | Not supported |
OnPostRender | Not supported | Not supported |
OnRenderImage | Not supported | Not supported |
OnRenderObject | Yes | Not supported |
OnWillRenderObject | Yes | Not supported |
OnBecameVisible | Yes | Not supported |
OnBecameInvisible | Yes | Not supported |
Camera Replacement Material | In research | Not supported |
RenderPipeline.BeginFrameRendering | Yes | Yes |
RenderPipeline.EndFrameRendering | Yes | Yes |
RenderPipeline.BeginCameraRendering | Yes | Yes |
RenderPIpeline.EndCameraRendering | Yes | Yes |
UniversalRenderPipeline.RenderSingleCamera | Yes | Not supported |
ScriptableRenderPass | Yes | Not supported |
Custom Renderers | Yes | Not supported |
CustomPass | Yes | |
Custom Post Process Pass | Yes |
Post-processing
Features | URP | HDRP |
---|---|---|
Ambient Occlusion (MSVO) | In research | Yes. HDRP supports: •Ground truth ambient occlusion. •Ray-traced ambient occlusion. |
Auto Exposure | Not supported | Yes. HDRP supports: •Fixed exposure. •Automatic (Eye adaptation). •Curve Mapping. •Physical Camera settings |
Bloom | Yes | Yes |
Chromatic Aberration | Yes | Yes |
Color Grading | Yes | Yes |
Depth of Field | Yes | Yes. This includes Bokeh. |
Grain | Yes | Yes |
Lens Distortion | Yes | Yes |
Motion Blur | ||
Camera | Yes | Yes |
Object | In research | Yes |
Vignette | Yes | Yes |
Panini Projection | Not supported | Yes |
Particles and terrain
Features | URP | HDRP |
---|---|---|
VFX Graph (GPU) | Yes | Yes |
Particles System (CPU) | Yes | |
Shaders | Yes | |
Physically Based | Yes (Particles Lit) | Yes |
Simple LIghting (Blinn Phong) | Yes (Particles Simple Lit) | Yes |
Unlit | Yes (Particles Unlit) | Yes |
Soft Particles | Yes | Yes |
Distortion | Yes | Yes |
Flipbook Blending | Yes | Yes |
Trail | Yes | |
Terrain | ||
Shaders | ||
Physically Based | Yes | Yes |
Simple Lighting (Blinn-Phong) | In research | Not supported |
Unlit | In research | Not supported |
Speed Tree | Yes | In research |
Vegetation | Yes | Yes |
Detail | Yes | Not supported |
Wind Zone | Yes | Not supported |
Number of Layers | 8 | 8 |
GPU Patch Generation | Yes | Yes |
Surface Mask | In research | Yes |
2D, UI, Ray tracing, VR and AR
Features | URP | HDRP |
---|---|---|
Sprite | Yes | Yes |
Tilemap | Yes | Yes |
Sprite Shape | Yes | Yes |
Pixel-Perfect | Yes | Not supported |
2D Lights | Yes | Not supported |
2D Shadows | Yes | Not supported |
UI (Canvas Renderer) | ||
Screen Space – Overlay | Yes | Yes |
Screen Space – Camera | In research | Yes |
World Space | Yes | Yes |
Text Mesh Pro | Yes | Yes |
Ray Tracing | ||
Ray-traced Ambient Occlusion | Not supported | Yes |
Ray-traced Contact Shadows | Not supported | Yes |
Ray-traced Global Illumination | Not supported | Yes |
Ray-traced Reflections | Not supported | Yes |
Ray-traced Shadows | Not supported | Yes |
Ray-traced Recursive Rendering | Not supported | Yes |
Path Tracing | Not supported | Yes |
VR | ||
Mutipass | In research | Yes |
Single Pass | Yes | Not supported |
Single Pass Instanced | Yes | Windows and PSVR only |
Post-processing | In research | |
Oculus Rift | Yes | |
Oculus Quest | Yes | Yes |
Oculus Go | Yes | Not supported |
Gear VR | Yes | Not supported |
PSVR | Yes | Not supported |
HoloLens | Yes | Yes |
WMR | Yes | Not supported |
Magic Leap One | Yes | Yes |
Yes | Not supported | |
AR | ||
AR Foundation | Yes | No |
Debug | ||
Scene view modes | In research | Yes |
Conclusion
You need to decide which render pipeline to use before starting with your game. You should go with HDRP if you are looking to make a game with visually stunning graphics targeted at high-performance hardware. HDRP is the only render pipeline that supports ray tracing.
For all your other games URP is the best solution.