Version: 2020.2
Making believable visuals in Unity
Believable visuals: preparing assets

Update: believable visuals in URP and HDRP

This page contains supplementary information for the Making believable visuals in Unity guide. While the general concepts in that guide still apply, this page contains updated guidance on converting a similar project to the Universal Render Pipeline (URP) and the High Definition Render Pipeline (HDRP), and highlights some key differences between Unity’s render pipelines.

Note that URP and HDRP are in active development, and new features are frequently added. See the latest versions of the URP documentation and the HDRP documentation for further information.

Downloadable example projects

Here are example projects for each render pipeline. You can download these to understand how to create similar visual effects in the different render pipelines, and to explore the different settings:

  1. Spotlight Tunnel using the Built-In Render Pipeline
  2. Spotlight Tunnel using URP
  3. Spotlight Tunnel using HDRP

Converting your project from the Built-in Render Pipeline to URP or HDRP

Before you convert a project from the Built-in Render Pipeline, you should carefully read this page in full.

You should then perform these steps in order:

  1. Project preparation
  2. Removing incompatible plug-insA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
    See in Glossary
    and assets
  3. Upgrading shadersA small script that contains the mathematical calculations and algorithms for calculating the Color of each pixel rendered, based on the lighting input and the Material configuration. More info
    See in Glossary
    and materials
  4. Upgrading post-processing
  5. Upgrading lighting

1. Project preparation

Make a backup of your existing project before upgrading.

It is risky to upgrade your version of Unity and change your project’s render pipeline at the same time. If you need to do both, upgrade your project to the new version of Unity first, and then switch to a new render pipeline. This allows you to fix any issues with the upgrade and ensure you have the correct package versions.

2. Removing incompatible plug-ins and assets

Plug-ins or Asset StoreA growing library of free and commercial assets created by Unity and members of the community. Offers a wide variety of assets, from textures, models and animations to whole project examples, tutorials and Editor extensions. More info
See in Glossary
assets that relate to lit shaders or perform renderingThe process of drawing graphics to the screen (or to a render texture). By default, the main camera in Unity renders its view to the screen. More info
See in Glossary
modifications in the Built-in Render Pipeline are not typically compatible with URP or HDRP out of the box, unless noted by the author. Remove any incompatible plug-ins and assets from your Project.

3. Upgrading shaders and materials

Lit shaders

Materials that work with Unity’s Standard ShaderA built-in shader for rendering real-world objects such as stone, wood, glass, plastic and metal. Supports a wide range of shader types and combinations. More info
See in Glossary
(or any shaders that are lit per pixel) do not work in URP or HDRP. They either render as pink, or not render at all.

You must replace these Materials with the equivalent shaders in the render pipeline you are using. The URP replacement for the Standard Shader is UniversalRP/Lit. The HDRP replacement for the Standard Shader is HDRP/Lit.

Alternatively, you can use the Render Pipeline Wizard to perform Material conversion:

  • In URP, go to Edit > Render Pipeline > Universal Render Pipeline > Upgrade Project Materials to UniversalRP Materials.
  • In HDRP, go to Edit > Render Pipeline > Upgrade Project Materials to High Definition Materials.

Unlit shaders

Some unlit shaders might work in URP or HDRP, but this is not guaranteed and might not be consistent across render pipelines. For example, the SkyboxA special type of Material used to represent skies. Usually six-sided. More info
See in Glossary
Material is transferable to URP but not HDRP. To ensure forward compatibility, it is best to replace these shaders with their unlit equivalent for your new render pipeline.

Custom shaders

You must recreate custom Surface ShadersUnity’s code generation approach that makes it much easier to write lit shaders than using low level vertex/pixel shader programs. More info
See in Glossary
and custom lit shaders in Shader Graph for them to work properly in URP or HDRP. For information on Shader Graph, see the Shader Graph documentation.

4. Upgrading post-processing

The Built-in Render Pipeline works with the Post Processing Stack V2 package, and the now-deprecated Post Processing V1 solution. URP and HDRP contain their own integrated post-processingA process that improves product visuals by applying filters and effects before the image appears on screen. You can use post-processing effects to simulate physical camera and film properties, for example Bloom and Depth of Field. More info post processing, postprocessing, postprocess
See in Glossary
solutions.

To prepare to convert your post-processing solution from Post Processing Stack V1 to URP or HDRP:

  • Remove the Post Processing Behaviour component from all CamerasA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
    See in Glossary
    .

To prepare to convert your post-processing solution from Post Processing Stack V2 to URP or HDRP:

  • Remove the Post-process Layer component from all Cameras.
  • Remove all Post-process Volume components, and delete the Profile Assets from the project.

To begin working with the integrated post-processing solution in URP or HDRP:

  1. Create a new Global Volume, and assign a new Volume Profile to it.
  1. Configure the Volume Profile by adding overrides for the desired post-processing effects.

  2. URP only: Select the Camera your application uses and make sure “Render Post Processing” is enabled. You can enable Anti-Aliasing for the in game camera without adding additional components.

  1. HDRP only: You can enable different types of Anti-Aliasing in the viewportThe user’s visible area of an app on their screen.
    See in Glossary
    unrelated to what you use on the game camera.

Post-processing effects

Some post-processing effects are available in HDRP, but not URP. Some are in development while others are not suitable for the particular render pipeline. You should check which post-processing effects are available in the render pipeline that you are using, and determine how to recreate the visual effects in your project.

In Spotlight Tunnel, the most important post-processing effect is the Tonemapper. This effect works the same in URP and HDRP.

Key differences in post-processing between URP and HDRP that affect this update to the Spotlight Tunnel project:

  • Bloom works differently in URP and HDRP, and requires different settings. For more information, see the URP documentation and the HDRP documentation.
  • The Screen Space Reflections effect is not available in URP.
  • Screen Space Ambient OcclusionA method to approximate how much ambient light (light not coming from a specific direction) can hit a point on a surface.
    See in Glossary
    was not avilable in URP at the time this update was created.

5. Upgrading lighting

Lighting strategy

Support for lighting features varies considerably between render pipelines. For example, the Built-in Render Pipeline supports Realtime Global Illumination, but URP and HDRP do not. The different render pipelines also support different Lighting Modes for Mixed Lights; for example, HDRP does not support Subtractive Lighting Mode, and URP does not support ShadowmaskA Texture that shares the same UV layout and resolution with its corresponding lightmap. More info
See in Glossary
Lighting Mode. For full details of which render pipeline supports which lighting features, see Setting up the lighting pipeline.

Before you convert your project to a different render pipeline, you should choose a lighting strategy that is compatible with your desired render pipeline and works well on your target hardware. The different lighting strategies in the URP and HDRP versions of Spotlight Tunnel demonstrate this.

The URP version of Spotlight Tunnel focuses on runtime performance:

  • Baked Global IlluminationA group of techniques that model both direct and indirect lighting to provide realistic lighting results. Unity has two global illumination systems that combine direct and indirect lighting.: Baked Global Illumination, and Realtime Global Illumination (deprecated).
    See in Glossary
    is enabled, with the CPU Progressive LightmapperA tool in Unity that bakes lightmaps according to the arrangement of lights and geometry in your scene. More info
    See in Glossary
    as a backend.
  • Most Lights have their Mode set to Baked; a minimal number of Lights have their Mode set to Realtime.
  • The Main Directional Light (sun) has its Mode set to Mixed to cast real-time shadows while still producing bounce lighting.

The HDRP version of Spotlight Tunnel focuses on high fidelity rendering:

  • Baked Global Illumination is enabled, with the CPU Progressive Lightmapper as a backend.
  • Most Lights have their Mode set to Mixed to preserve high quality specular lighting on stationary lights; Lights with their Mode set to Realtime are used wherever they are needed for consistent shadowing.

Note that, depending on your hardware configuration, the GPU Progressive Lightmapper might result in faster lightmapA pre-rendered texture that contains the effects of light sources on static objects in the scene. Lightmaps are overlaid on top of scene geometry to create the effect of lighting. More info
See in Glossary
baking than the CPU Progressive Lightmapper.

Light types

In addition to choosing an overall lighting strategy, you should be aware of the differences in Light types between different render pipelines.

Differences between the Built-in Render Pipeline and URP:

  • In the Built-in Render Pipeline, the distance fall-off for Spot and Point Lights doesn’t follow any physical laws. In URP, the distance fall-off for Spot and Point Lights follows the inverse square law. Generally speaking, Lights lose more intensity over distance in URP, and you need to amend your SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
    See in Glossary
    ’s lighting accordingly.
  • To convert the Intensity value of Directional Lights from the Built-in Render Pipeline to URP, use the following formula: URP Directional Light Intensity = (Built-in Renderer Pipeline Directional Light Intensity)^2.2. For example, a value of 7.5 in the Built-in Render Pipeline is equivalent to a value of 84.17 in URP.

Differences between the Built-in Render Pipeline and HDRP:

  • HDRP uses a physically based lighting unit and fall-off for all Light types. You must completely recreate your lighting using physically based values.
  • HDRP supports additional Light types, such as Spotlight Pyramid/Box, Realtime Tube, and Realtime Rectangular lights. These can help you achieve different realistic effects.

Reflection

Each render pipeline has slight differences in how they handle reflection capturing and reflection blending, and it is likely that you will have to change the position and distribution of the Reflection ProbesA rendering component that captures a spherical view of its surroundings in all directions, rather like a camera. The captured image is then stored as a Cubemap that can be used by objects with reflective materials. More info
See in Glossary
in your Scene.

For comparison are the reflection systems used in the different versions of Spotlight Tunnel:

  • Built-in Render Pipeline: Reflection Probe (Deferred w/blending), ScreenSpace Reflection, Skybox.
  • URP: Reflection Probe (Forward), Skybox.
  • HDRP: Reflection Probe w/blending. ScreenSpace Reflection, Skybox. In URP:

Converting from the Built-in Render Pipeline’s Deferred reflection to URP requires some manual work, as URP’s Forward Reflection Probe doesn’t blend. Converting from Built-in Render Pipeline’s Deferred reflection to HDRP reflection is straight forward as they both have equivalent blending methods.

Converting your project between URP and HDRP

Conversion from HDRP to URP and vice versa is possible, but it is not automatic and the manual process may be difficult. How difficult the process is mainly depends on how complex your project’s shaders are; if your project mostly uses the render pipeline’s built-in shaders, the process is much easier.

Spotlight Tunnel project was successfully converted from HDRP to URP, with these caveats:

  • There is no wizard to assist with Material conversion, but you can select multiple Materials and switch them to the new render pipeline shader. Most of the Materials in Spotlight Tunnel HDRP are HDRP Lit with basic Texture packing, and in most cases they translated to URP Lit without problems. Note that not all texture assignments can transfer directly, because there are many shader features that are different between URP and HDRP; double check each material to make sure texture assignments are properly set.
  • Post-processing profiles and settings are different between URP and HDRP. Post-processing effects needed to be manually recreated.
  • Some Light types from HDRP are not available in URP.
  • The Lighting Unit in URP is different to that in HDRP. Lighting effects needed to be manually recreated.
  • The Skybox Material is not compatible between URP and HDRP. We replaced the HDRP Skybox Material with one suitable for URP.
Making believable visuals in Unity
Believable visuals: preparing assets