Search Unity

2018 and Graphics

The Unity 2018 release cycle will have a heavy focus on graphics! There are a number of features that will be released during 2018 that will drastically enhance Unity’s rendering capabilities. Hopefully you will find a new feature for every type of user, such as the visual tools for artists or more powerful rendering control for low-level engineers. We are very excited to share with you what we are working on, and we can’t wait to see what you’ll make with it!

We will be following up this blog post with more in depth posts about each of the systems we are developing.

Scriptable Render Pipelines

The Scriptable Render Pipeline is a way of configuring and performing rendering in Unity that is controlled from C# script. This is a big shift away from how Unity has traditionally performed rendering, moving control of how a project renders from being hard coded to being completely project driven.

Currently Unity provides a number of rendering configurations (for example: forward rendering and deferred rendering). These pipelines are fixed and provided as is. This has a number of downsides:

Inability to fix or workaround rendering issues.

The pipelines are large and complex, as they have to handle all use cases.

It’s very difficult to add state-of-the-art effects due to legacy and complexity.

To solve these issues we have been developing the SRP API as an experimental feature throughout 2017. Now in 2018.1, the feature is moving into beta. We are confident that not only does this system resolve these problems, but it is also fast, easy to work with, and empowering for rendering programmers.

With SRP we no longer have to provide a monolithic rendering pipeline that is trying to do everything for everyone. The SRP API opens up the Unity rendering interface, allowing for flexibility and control right from C# scripts. Programmers can now write custom renderers tailored specifically to their project.

Imagine designing a custom render pipeline by plugging together modular blocks. Each block is well defined with a single function that is easy to test, improve, and maintain. This is how Scriptable Render Pipelines work. Not only is this easier for developers using Unity, it also allows us to add new blocks to the engine’s toolbox so you the user can quickly have access to new rendering advancements.

In 2018.1 we have included 2 rendering pipelines for users. Not only are these usable right out of the box, they can serve as reference for developers building their own render pipelines.

Lightweight Rendering Pipeline – A pipeline designed for mobiles and platforms without compute shader capability.

High Definition Rendering Pipeline – A modern high fidelity renderer for developing games for platforms that support Shader Model 5.0 (DX11 and above).

Lightweight Rendering Pipeline

The LT RP is designed to be fast and scale well to lower end hardware. It’s a forward based renderer and scales well from mobile, to VR, to PC.

The Lightweight Pipeline is a Scriptable Render Pipeline available with Unity 2018.1. It performs a single-pass forward rendering with light culling per-object with the advantage that all lights are shaded in a single pass. Compared to the vanilla Unity forward rendering, which performs an additional pass per pixel light, using the LT pipeline will result in less draw calls at the expense of slightly higher shader complexity.

The pipeline supports at most 8 lights per-object and only supports a subset of built-in Unity rendering features. A feature comparison table of Lightweight Pipeline vs stock Unity pipeline can be found here.

HD Rendering Pipeline

The high definition render pipeline is a Scriptable Render Pipeline available with Unity 2018.1 (Experimental). The HDRP is a modern rendering pipeline designed with PBR, linear lighting, HDR lighting in mind. It’s built with a configurable hybrid Tile/Cluster deferred/Forward lighting architecture.

HDRP adds several features over built-in Unity with improved options for lights, reflection probes, standard materials. It also provides advanced material like Anisotropy, Subsurface scattering, and Clear Coating. Advanced lights, like Area lights, are also supported.

Post-processing Stack v2

The Post-processing stack has been improved to feature higher quality effects, automatic volume blending with a powerful override stack and a flexible framework to write and distribute your own custom effects.

It’s compatible with the Lightweight, HD and built-in rendering pipelines.

Unity Shader Graph

Authoring shaders in Unity has traditionally been the realm of people with some programming ability. In 2018 we are changing this!

Shader Graph enables you to build your shaders visually. Instead of hand writing code, you create and connect nodes in a graph network. The graph framework gives instant feedback on the changes, and it’s simple enough that new users can become involved in shader creation.

The Shader Graph system is designed to work with both the LT and HD render pipelines, can be extended to work with any custom render pipeline, and has an open architecture that allows for custom nodes to be written.

Grab the latest beta to check out these features and more. In the coming weeks we’ll be writing about these systems in greater detail so you can make the most out of them.

45 Comments

Unity should provide all features on asset store to default editor. Like Terrain Tools in Unity are very very low quality, while asset store has plenty of advance tools. Road & River tools should be in Editor. Like CryEngine. Still Unity default water system is just a plane with some ripples we have to buy some good asset for water physics & still far away from realism. Now its time for Next-gen Engines & unity should provide its customers all they need in Editor instead of asset store. I would suggest Unity to contact developer of TerrainComposer 2 for helping unity because Unity terrain tools are 100times poor than TC2. Every time we want to make something advance we have to purchase assets(These should be in editor features)

I Was Just After Installing The New 2018 Beta.Nothing New For Me(I’m A Programmer) And Other Programmers.Although The New Graphics Improvement Is A Good Feature.Because Unity Has Been Having A lot Of Criticism On Graphics.But 2018 Is The Rise Of Graphics!

I really like the implementation of voxel based GI in other engines (unreal, cryengine, godot, even armory). Will Unity 2018 support this GI method? At least I hope SRP opens the door to it’s implementation.

Regarding the new Shader Graph, will there be a specific blog post about it, its features and how does it compare to already existing solutions like Shader Forge? That insight would be extremely useful for those wondering which option fits their projects best.

I’m checking the Legacy vs Lightweight comparison table and LT is worse than the actual pipeline.
Are you sure that is the right direction? You’re forcing to use the HD in all PC cases due to the LT imposed limitations.

I believe Unity mentioned more details would be forthcoming around GDC time. But from following github, I don’t believe it’s dramatically different from the performance you will get now with Unity when turning everything on. Just my 2p though!

Can we have a higher precision vertex colors with the new lightweight pipeline?
The current vertex color format is too low resolution and often introduce banding that isn’t visible in the modeling software.
I doubt there is any performance gain in keeping the current format.

How particles fit into new HD pipeline? Will lit particle shaders be provided? What I mean is – are particles going to receive direct lighting from point, spot, directional lights and sample GI/Lightmap data?

I think its good that unity has a own node system now. It will lead to more and better improvements of ASE and establishing standards which all shader node systems are going to implement with a few features to be “different” or just better than the unity native one. Looking forward to the development of of both this year.

Great work. I use deferred on mobile no problem, and I’m wondering how does the single pass forward compare to traditional multi pass deferred performance wise? I usually don’t have many lights so will it be faster but still give the multi light (at least up to 8) visual fidelity of deferred rendering?