URP vs HDRP in Unity

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

FeatureURPHDRP
HDRYesYes.
MSAAYesYes. HDRP supports
Physical CameraYesYes. HDRP uses physical camera properties
Dynamic ResolutionYes 
Multi DisplayYesYes
StackingIn researchNot supported
Flare LayerNot supportedNot supported
Depth TextureYesYes
Depth + Normals TextureNot supportedYes
Color TextureYesYes
Motion vectorsIn researchYes

Realtime Lights

FeaturesURPHDRP
Light Types  
DirectionalYesYes
SpotYesYes. Supports the following shapes:
PointYesYes
AreaRectangle (Baked)Yes.(rectangle,tube and disk)
Inner Spot AngleYesYes
ShadingSingle PassTiled/Clustered
Culling  
Per-ObjectYesYes
Per-LayerYesYes
Light Limits See Quality Settings
Main Directional Light1Unlimited, but HDRP only supports shadowing for one Directional Light at a time.
Per Object8 (4 for GLES2). Can be point, spot, and directional Lights.Unlimited
Per Camera256 (32 on mobile platforms)Unlimited
AttenuationInverseSquaredInverseSquared
Vertex LIghtsYesNot supported
SH LightsIn researchNot supported

Realtime Shadows

FeaturesURPHDRP
Light Types 
DirectionalYes – only 1Yes, but only one at a time.
SpotYesYes
PointIn researchYes
AreaNot supportedYes, but only for the Rectangle shape.
Shadow Projection 
Stable FitYesYes
Close FitIn researchYes
Shadow Cascades 1 to 4
Number of Cascades1, 2 or 4Yes
Control by PercentageYesYes
Control by DistanceIn researchYes
Shadow Resolve Type  
Lighting PassYesYes
Screen Space PassYesYes
Shadow BiasOffsets shadowmap texels in the light direction + normal biasYes, Slope and normal

Batching

FeaturesURPHDRP
Static Batching (By Shader)YesYes
Static Batching (By Material)YesYes
Dynamic BatchingYesYes
Dynamic Batching (Shadows)In researchYes
GPU InstancingYesYes
Color Space 
LinearYesYes
GammaYesNot supported

Global Illumination

FeaturesURPHDRP
EnlightenNot supportedNot supported
Enlighten RealtimeNot supportedNot supported
Progressive CPUYesYes
Progressive GPUYesYes
Mixed Lighting 
SubtractiveYesNot supported
Baked IndirectYesYes
Shadow MaskIn researchYes. This is a per-Light setting.
Distance Shadow MaskIn researchYes. This is a per-Light setting.
Global Illumination (Light Probes) 
BlendingYesYes
Proxy Volume (LPPV)Not supportedYes
Custom ProvidedYesYes
Occlusion ProbesYesYes
Global Illumination (Reflection Probes)  
RealtimeYesYes
BakedYes 
Sampling See Reflection Hierarchy.
SimpleYesSee Reflection Hierarchy.
Blend ProbesIn researchSee Reflection Hierarchy.
Blend Probes and SkyboxIn researchYes
Box ProjectionIn researchHDRP 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 reflectionsNot supported 
Global Illumination (Lightmap Modes) 
Non-DirectionalYesYes
DirectionalYesYes
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.
SkyboxYesUses a single sky to bake global illumination, otherwise uses sky settings per Volume. You can create own sky via script and Material.
GradientYesUses a single sky to bake global illumination, otherwise uses sky settings per Volume. You can create own sky via script and Material.
ColorYes 
Ambient Mode Yes
RealtimeIn researchYes
BakedYes

Skybox

FeaturesURPHDRP
ProceduralYesYes. This sky type is deprecated, but you can still use if if you install the Procedural Sky Sample.
6 SidedYesYes. The HDRI Sky supports cubemaps, which the Unity importer can build from 6-sided maps.
CubemapYesSee HDRI Sky
PanoramicYesYes. The HDRI Sky supports cubemaps, which the Unity importer can build from panoramic maps.
Physical Yes
Gradient Yes

Fog

FeaturesURPHDRP
LinearYesNot supported
ExponentialYesYes. The Fog Override uses exponential fog.
Exponential SquaredYesNot supported
Local volumetric Yes

Visual Effects Components

FeaturesURPHDRP
HaloNot supportedNot supported
Lens FlareNot supportedNot supported
Trail RendererYesYes. You can also use the VFX Graph to create a custom trail effect.
Billboard RendererYesYes, but only with the VFX Graph.
ProjectorNot supportedNot supported

Shaders

FeaturesURPHDRP
Shader GraphYesYes
Surface ShadersNot supportedNot supported
Camera-relative RenderingIn researchYes. See Camera Relative Rendering.
Built-in Lit Uber ShaderLit Shader
Metallic WorkflowYesYes
Specular WorkflowYesYes
Surface Type and Blend Mode 
OpaqueYesYes
Faded (Alpha Blend)YesYes. HDRP also supports premultiplied alpha.
TransparentYesYes
CutoutYesYes
AdditiveYesYes
MultiplyYesNot 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)YesYes
SpecularYesYes
MetallicYesYes. Uses the mask map.
SmoothnessYesYes. Uses the mask map.
Ambient OcclusionYesYes. Uses the mask map.
Normal MapYesYes
Detail MapNot supportedYes
Detail Normal MapNot supportedYes
HeightmapNot supportedYes. Supports both pixel and vertex displacement.
Light CookiesIn researchYes. Supports RGB Textures.
Parallax MappingNot supportedYes. Uses vertex displacement.
Light Distance FadeIn researchYes
Shadow Distance FadeIn researchYes
Shadow Cascade BlendingIn researchYes
GPU InstancingYesYes
GPU Tessellation Yes. Uses the LitTesselation Shader.
Double Sided GIYesYes
Two SidedYesYes
Order In LayerYesNot supported
Advanced Materials  
ClearCoat Yes
Hair Yes
Fabric Yes
Render Pipeline Hooks 
Camera.RenderWithShaderNot supportedNot supported
Camera.AddCommandBufferNot supportedNot supported
(Camera.Remove[All]CommandBuffer)
Camera.RenderNot supportedYes
Light.AddCommandBufferNot supportedNot supported
(LightRemove[All]CommandBuffer)
OnPreCullNot supportedNot supported
OnPreRenderNot supportedNot supported
OnPostRenderNot supportedNot supported
OnRenderImageNot supportedNot supported
OnRenderObjectYesNot supported
OnWillRenderObjectYesNot supported
OnBecameVisibleYesNot supported
OnBecameInvisibleYesNot supported
Camera Replacement MaterialIn researchNot supported
RenderPipeline.BeginFrameRenderingYesYes
RenderPipeline.EndFrameRenderingYesYes
RenderPipeline.BeginCameraRenderingYesYes
RenderPIpeline.EndCameraRenderingYesYes
UniversalRenderPipeline.RenderSingleCameraYesNot supported
ScriptableRenderPassYesNot supported
Custom RenderersYesNot supported
CustomPass Yes
Custom Post Process Pass Yes

Post-processing

FeaturesURPHDRP
Ambient Occlusion (MSVO)In researchYes. HDRP supports:
•Ground truth ambient occlusion.
•Ray-traced ambient occlusion.
Auto ExposureNot supportedYes. HDRP supports:
•Fixed exposure.
•Automatic (Eye adaptation).
•Curve Mapping.
•Physical Camera settings
BloomYesYes
Chromatic AberrationYesYes
Color GradingYesYes
Depth of FieldYesYes. This includes Bokeh.
GrainYesYes
Lens DistortionYesYes
Motion Blur  
CameraYesYes
ObjectIn researchYes
VignetteYesYes
Panini ProjectionNot supportedYes

Particles and terrain

FeaturesURPHDRP
VFX Graph (GPU)YesYes
Particles System (CPU)Yes 
Shaders Yes
Physically BasedYes (Particles Lit)Yes
Simple LIghting (Blinn Phong)Yes (Particles Simple Lit)Yes
UnlitYes (Particles Unlit)Yes
Soft ParticlesYesYes
DistortionYesYes
Flipbook BlendingYesYes
Trail Yes
Terrain  
Shaders  
Physically BasedYesYes
Simple Lighting (Blinn-Phong)In researchNot supported
UnlitIn researchNot supported
Speed TreeYesIn research
VegetationYesYes
DetailYesNot supported
Wind ZoneYesNot supported
Number of Layers88
GPU Patch GenerationYesYes
Surface MaskIn researchYes

2D, UI, Ray tracing, VR and AR

FeaturesURPHDRP
SpriteYesYes
TilemapYesYes
Sprite ShapeYesYes
Pixel-PerfectYesNot supported
2D LightsYesNot supported
2D ShadowsYesNot supported
UI (Canvas Renderer) 
Screen Space – OverlayYesYes
Screen Space – CameraIn researchYes
World SpaceYesYes
Text Mesh ProYesYes
Ray Tracing 
Ray-traced Ambient OcclusionNot supportedYes
Ray-traced Contact ShadowsNot supportedYes
Ray-traced Global IlluminationNot supportedYes
Ray-traced ReflectionsNot supportedYes
Ray-traced ShadowsNot supportedYes
Ray-traced Recursive RenderingNot supportedYes
Path TracingNot supportedYes
VR 
MutipassIn researchYes
Single PassYesNot supported
Single Pass InstancedYesWindows and PSVR only
Post-processing In research
Oculus RiftYes 
Oculus QuestYesYes
Oculus GoYesNot supported
Gear VRYesNot supported
PSVRYesNot supported
HoloLensYesYes
WMRYesNot supported
Magic Leap OneYesYes
 YesNot supported
AR 
AR FoundationYesNo
Debug 
Scene view modesIn researchYes

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.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from VionixStudio

Subscribe now to keep reading and get access to the full archive.

Continue reading