What you will get from this page: You’ll learn to assess when to use the High Definition Render Pipeline (HDRP) and how to start using it for production. Based on Jennifer S. Roig-Deslandes’ session from Unite Copenhagen 2019.
The High Definition Render Pipeline checklist
Among the most frequent questions Unity engineers get from creators are “What is HDRP?” and “How can I use it in my project?” So we put together this list of considerations to help you understand how you can use the High Definition Render Pipeline (HDRP) in your projects to get the most out of it.
Let’s start by answering a few questions to assess if your project is ready for HDRP:
- Are you on the right target platform?
The first question you need to ask yourself is if you are shipping on a supported platform. If you’re planning to ship on consoles such as Xbox One and PlayStation 4, Windows (DirectX 11, DirectX 12 and Vulkan), Mac (Metal), and VR headsets (PlayStation VR, Oculus Rift, OpenVR, Windows Mixed Reality), then we’ve got you covered. There’s currently very little support for Linux, and no support for Nintendo Switch, OpenGL, and mobile platforms.
- Are you in the right production cycle?
HDRP will be out of preview with the Unity 2019.3 release. We strongly recommend you use HDRP with that version onwards; with Unity 2019.3 Long-Term Support (LTS) and above, you will have full support. If you use HDRP with any previous Unity versions, you’ll have to do all of the maintenance yourself.
- Do you have technical pillars that are compatible with HDRP and production skill sets?
Working with HDRP requires a lot of upgrade and maintenance. To move from the Built-in rendering pipeline or the Universal Render Pipeline, you’ll also have to ramp up on technical knowledge for HDRP. Make sure that you and your team allocate some time to learn this tech.
- Is it the right tech for your artistic vision?
HDRP is grounded in physically based rendering and offers a unified lighting pipeline. Also, it comes with several tools for your artistic needs: Visual Effect Graph, Look Dev, and post-processes. For characters and environment, HDRP offers skin, hair, and eye shaders, as well as subsurface scattering and some support for terrain.
If you’re still deciding what render pipeline to use, here are a few things to consider. HDRP is supported with Unity 2019 LTS and above, and it comes with its own high-definition post-processing stack. It also comes with ray tracing support, VFX Graph support, Shader Graph support, and state-of-the-art graphics features.
If your project contains complex scenes, HDRP will scale better than with the built-in rendering pipeline. However, if you're planning to ship on both mobile and consoles, HDRP might not be the right tech for you.
What problem is HDRP trying to solve?
HDRP is all about unified and coherent lighting. It's about performance and, of course, state-of-the-art technology.
Unified and coherent lighting
HDRP is a physically based rendering pipeline, which means that you can use real-life input to create your Scene. For example, the light’s luminosity is expressed in Lumens or Lux.
Artists are now able to author assets independently of the context. When the context changes, your visuals remain coherent within the project.
Performance at its heart
HDRP features are compatible with high performance on all the platforms we currently support. We want you to achieve your project’s artistic vision without compromising on performance.
HDRP uses technology that is standard for the video game industry: physically based rendering, physical lighting units, and physics-based components, all combined with user-friendly tooling.
Getting started: Creating your first project with HDRP
To get started with HDRP in your project, we recommend the following steps:
- Understand the tech through demos and samples.
All the demos that Unity produces are made with the same tech you're going to get when you download the HDRP package. Here are two of the demos that you can dig into right away: Fontainebleau and Spaceship. Both demos come with extremely handy documentation and blog posts that explain how they were created.
Every HDRP Package release also includes samples.
- Create a new project from the HDRP template in Unity Hub
If you’re ready to dive in, here’s how you get started with creating a project with HDRP in Unity: Open up the hub, create a new project, choose the High Definition Render template, and you're all set. The Editor will open and you can just play with it.
- Use the Render Pipeline Wizard
If things aren’t going smoothly, the Render Pipeline Wizard will help you identify any issues in your project. You can find it under Window > Analysis > Render Pipeline Wizard.
Convert your game: From the built-in pipeline to HDRP
If you’re already working on a project that uses the built-in render pipeline and you want to convert it to HDRP, here are the steps we recommend.
As a preliminary step, make sure you’re using the Unity version you need. To make a decision, review the documentation. When you open Package Manager and click on High Definition RP, you’ll see the version you’re running. Below that are some links – most importantly, one for documentation and one for the changelog.
Note that every major version of the package corresponds to a compatible version of Unity. You can find this information in the Package Manager. For example, the 5.0.1 version of the HDRP package is compatible with Unity 2019.1. Once you’ve established which version of Unity and corresponding HDRP package are the right combination for you, you can proceed with upgrading your project.
How do you actually upgrade your project?
First, make sure to remove the post-processing stack your project is currently using, because the HDRP has its own post-processing stack. To do this, select Post Processing in Package Manager and click Remove.
Then, you need to make sure you are in the linear color space. Go to Edit > Project Settings > select Player > go to Other Settings to see the Color Space Settings. Change this value from Gamma to Linear.
After that, download the HDRP package. In Package Manager, select High Definition RP, and click Install. Make sure to update to the latest patch version for your Unity version.
The High Definition Render Pipeline Asset
To use HDRP in your project, you need to use a High-Definition Render Pipeline Asset. In the Project window, right-click on Assets and go to Create > Rendering and select High Definition Render Pipeline Asset. Then, make sure to assign it to the project: go to Edit > Project Settings > Graphics and select High Definition Render Pipeline Asset.
The Render Pipeline Wizard
If something doesn’t look right, that may be because the materials you’re using are not compatible with HDRP. Use the Render Pipeline Wizard to check that your settings, materials, and lighting are compatible with HDRP.
The Render Pipeline Wizard (Window > Analysis > Render Pipeline Wizard) gives you a full list of potential issues in your project. You can check the issues individually or click Fix All.
Convert your materials
Once all issues are fixed, you can start converting your materials. To convert your materials, go to Edit > Render Pipeline > Upgrade Project Materials to High Definition Materials; all Standard Lit/Unlit Shaders in your project will be converted to HDRP Lit/Unlit Materials for you.
Then, change your lighting from non-physical lighting units to physically accurate ones. After you’ve converted your materials and tweaked the lighting, you need to recreate post-processing.
Post-processing in HDRP
Post-processing is already enabled by default for your project in Project Settings > HDRP Default Settings > Volume Components. For example, Tonemapping and Bloom are enabled by default, but you can change that through Volume Components. You can also create your own volume for your scene and add a new profile for it in this section.
How to get the most out of HDRP
Have a look at the HDRP settings. There are various places where these can be found:
You can adjust project-wide settings in two places:
- HDRP Default Settings, let you specify, for example, if you want shadows or not in your project
- HDRenderPipelineAsset also has several settings for, for example, decals or post-processing
- Volume Components show the settings for your current scene, such as post-processing and sky. The settings can be local to your Volume or global to your scene.
- Camera-based settings enable you to tweak masks, Background, Projection, Field of View, and more.
Once you’ve established the settings for your project, you may want to make further adjustments.
There are several ways to customize the rendering process in the HDRP package.
- Custom Passes: To render a selected list of Scene objects with a different material, so you could render them a second time
- Custom Fullscreen Passes: To render a fullscreen quad with a specific material
- Custom Post-Processes: To render your own post-process
The HDRP source code is also available on GitHub, so you can adapt it according to your project needs. However, we strongly encourage you to make a copy to branch out and regularly integrate all the bug fixes Unity provides.