Upgrade Guides
We started writing upgrade guides to help you transition from previous versions of the pipeline. We will write upgrade guides for minor and major updates. Patch updates don’t require guides as they are essentially bug fixes.
Camera Stacking
In the Universal Render Pipeline (URP), you can now use Camera Stacking to layer the output of multiple Cameras and create a single combined output. Camera Stacking allows you to create effects such as a 3D model in a 2D UI, or the cockpit of a vehicle. It also allows you to composite post-processing correctly with world space UI.
A Camera Stack consists of a Base Camera and any number of Overlay Cameras. When rendering cameras in a stack, the rendering is composited into a single render texture as if all cameras were a single one. In order to do this, the pipeline inherits several settings from the Base camera when rendering Overlay cameras. This is not only useful for performance but also allows you to configure consistently stacking rendering settings in the Base camera, such as viewport or HDR, and have those settings be automatically propagated to all cameras in the stack. You can still configure some rendering settings for each Overlay camera for optimal artistic control such as post-processing, shadows and use customized renderers with custom render passes.
There’s still work planned to improve camera stacking solution in URP. Some of that work consists of:
-
Support for Base and Overlay cameras to receive and cast shadows from other cameras.
-
Cache culling results for cameras in the stack
-
Support for Camera Stacking in 2D renderer and when using Multi-pass VR Mode.
For more information about how to configure and use camera stacking refer to the URP Camera Docs.
Universal Rendering Examples Updated
Universal Rendering Examples are updated to 7.2.0.
Here are some of the examples that were added:
-
3D Character Menu with custom blur post-processing.
-
3D Cockpit with World Space and Screen Space Camera UI.
-
3D Skybox with stacking of depth and stencil.
-
FPS shooter using Camera Stacking.
Post-processing v2 in Universal Render Pipeline 2019
While working on Universal Render Pipeline for 2019.3 we developed an Integrated Post-Processing stack that is better coupled with the pipeline. This allowed us to deliver several performance improvements in the pipeline. The new stack also supports new effects like Camera Motion Blur and the Volume Framework.
Earlier this year we decided to drop support for PPv2 in URP in favor of this new integrated post-processing stack. However, the new stack is currently missing a very important feature for users: custom post-processing.
Based on this feedback, we decided to add support to PPv2 in URP as a fallback mode in 7.2.0. This way developers will have a choice to still keep using PPv2 for the next 2 years in 2019 LTS. PPv2 is removed from URP in 2020.
If you have the PPv2 package installed, there is now an option to select PPv2 stack from the pipeline asset. It works the same way as it used to work in LWRP and with the same limitations: no camera stacking and no support for Ambient Occlusion, Temporal Anti-aliasing and Motion Blur.
You cannot use both PPv2 and the new integrated stack at the same time. Enabling one disabled the other. Also note that PPv2 is provided as a fallback option and doesn’t support new URP features such as camera stacking.
VR Multi-pass mode
Multi pass VR mode is now supported with Universal Render Pipeline. Multipass rendering is a minimum requirement on many VR platforms and allows graceful fallback when single-pass rendering isn’t available.
This also fixes some single-eye rendering issues that were caused because VR was falling back to MultiPass.
2D Renderer Improvements
Transparency Sort Mode and Transparency Sort Axis are features that are present in the built-in render pipeline but missing from URP. In 7.2.0, they are added back to the 2D Renderer.
Now you can also change the default material that’s going to be used when you create new Sprites. This is useful when you have a custom Sprite shader that you want to apply to all new Sprites in your project.
Blend Styles in the 2D Renderer Data are now automatically enabled/disabled, depending on whether there are 2D Lights that actually use them.
If you are making an unlit 2D game but want to use the 2D Renderer due to Shader Graph, you’d be glad to hear that Sprites now render with a faster rendering path when no 2D Lights are present.
Shadows on transparent objects
URP now supports consistently transparent objects receiving shadows. This includes particle shaders as well.
There is a new setting in the renderer asset to choose whether to enable or disable shadows on transparents globally.
All stock and shader graph shaders will upgrade correctly to handle shadows in transparent objects. If you have written custom HLSL shaders to sample shadows check our 7.2.0 package upgrade guide.
MaterialDescriptionPreprocessors
Two new AssetPostprocessors and Shader Graphs add 3ds Max Physical Material and Arnold Standard Surface Material partial support for FBX files in the ModelImporter.
Basic PBR material properties like Base Color, Metalness, Roughness, Specular IOR, Emission and Normals are imported and mapped to custom shaders in Unity.
Sample of Arnold Standard Surface Materials in Maya
Arnold Standard Surface Materials imported in Unity
A word about post-processing in the new Integrated Post-processing stack (v3)
You can already leverage the custom render pass injection system in URP to do custom post-processing. We want to provide you with a template to create such a render pass and that you can easily add to a renderer. for more information about how to do it and link to one example check this [forum post]( Post-processing and URP - The plan page-3#post-5466441)