URP Documentation has this feature comparison table showing feature parity with Built-in RP,
e.g. telling what is supported and not yet supported.
This blog post shows the comparison in terms of usage.
Based on Unity 2020.2.2f1 + URP 10.2.2
Feature | Built-in RP | Universal RP (URP) |
Renderer / Object Rendering Callbacks | Called on Renderer: ■ OnWillRenderObject ■ OnBecameVisible ■ OnBecameInvisible Called on GameObject: ■ OnRenderObject | same as Built-in RP. |
Camera Rendering Callbacks | Called on Camera: ■ OnPreCull ■ OnPreRender ■ OnPostRender ■ OnRenderImage | use RenderPipelineManager ■ beginFrameRendering ■ beginCameraRendering ■ endCameraRendering ■ endFrameRendering see below for more callbacks. |
Rendering Events | CameraEvent + Camera.AddCommandBuffer LightEvent + Light.AddCommandBuffer | create ScriptableRendererFeature & ScriptableRenderPass, and use RenderPassEvent. See example. Add this RendererFeature to a ForwardRendererData asset. |
Script Execution Order | See Documentation | See here |
Dynamic Batching checkbox | located in ProjectSettings > Player | located on UniversalRenderPipeline asset |
Shadows settings | located in ProjectSettings > Quality | located on UniversalRenderPipeline asset |
Default shader (Lit) | Standard shader and all the other legacy / mobile lit shaders | Universal Render Pipeline/Lit shaders |
Default shader (Unlit) | all the Unlit shaders | Unlit shaders that works in built-in RP still works in URP. but recommended to use URP’s own unlit shaders: Universal Render Pipeline/Unlit shaders |
Custom Shader | Need to write shader code. ProjectView > Create > Shader: ■ Standard Surface Shader ■ Unlit Shader ■ Image Effect Shader | These 2 shader templates still works in URP, as long as they don’t do lighting. ProjectView > Create > Shader: ■ Unlit Shader ■ Image Effect Shader Create ShaderGraph (node-based shader editor). ProjectView > Create > Shader > Universal Render Pipeline |
Shader Passes | Name “FORWARD” Tags { “LightMode” = “ForwardBase” } Name “FORWARD_DELTA” Tags { “LightMode” = “ForwardAdd” } Name “ShadowCaster” Tags { “LightMode” = “ShadowCaster” } Name “DEFERRED” Tags { “LightMode” = “Deferred” } Name “META” Tags { “LightMode”=”Meta” } (from Standard shader) | Name “ForwardLit” Tags{“LightMode” = “UniversalForward”} Name “ShadowCaster” Tags{“LightMode” = “ShadowCaster”} Name “GBuffer” Tags{“LightMode” = “UniversalGBuffer”} Name “DepthOnly” Tags{“LightMode” = “DepthOnly”} Name “DepthNormals” Tags{“LightMode” = “DepthNormals”} Name “Meta” Tags{“LightMode” = “Meta”} Name “Universal2D” Tags{ “LightMode” = “Universal2D” } (from URP Lit shader) |
Shader Property Names | _MainTexture _Color (from Standard shader) | _BaseMap _BaseColor (from URP Lit shader) |
Camera Textures | use DepthTextureMode ■_CameraDepthTexture ■_CameraDepthNormalsTexture ■_CameraMotionVectorsTexture | enable Depth Texture checkbox on UniversalRenderPipeline asset ■_CameraDepthTexture enable Opaque Texture checkbox on UniversalRenderPipeline asset ■_CameraOpaqueTexture |