The latest release of Unity, version 2017.1 now officially supports NVIDIA’s VRWorks rendering tech. VRWorks contains a number of rendering features unique to the company’s GPUs which are designed to improve performance in VR applications.
Update (7/13/17): After several months in beta, this week Unity launched its latest main branch release, version 2017.1. Alongside some VR fixes and a few improvements noted in the full release notes, VRWorks support also comes to the main branch for the first time, allowing developers working on the release version of the game engine to install the Nvidia VRWorks plugin to enable a range of VR specific rendering features (noted below) that can improve performance and enhance visuals on Nvidia GPUs.
Now supported by the main branch, we’d expect VRWorks to remain supported on the Unity main branch going forward.
Update (4/26/17, 10:26PM PT): While NVIDIA had formerly made a branch of Unity with VRWorks support available to select developers, the company has now launched a VRWorks plugin on the Unity Asset store which is supported by the latest Unity beta (2017.1.0b2). This makes it easier for developers to enable VR rendering features unique to NVIDIA’s latest GPUs:
- Multi-Res Shading (Maxwell & Pascal) – renders each part of an image at a resolution that better matches the pixel density of the warped image. Multi-Res Shading uses Maxwell’s multi-projection architecture to render multiple scaled viewports in a single pass, delivering substantial performance improvements.
- Lens Matched Shading (Pascal) – uses the new Simultaneous Multi-Projection architecture of Pascal-based GPUs to provide substantial pixel shading performance improvements. The feature improves on Multi-res Shading by rendering to a surface that more closely approximates the lens corrected image that is output to the headset display. This avoids the performance cost of rendering many pixels that are discarded during the VR lens warp post-process.
- Single Pass Stereo (Pascal) – uses the new Simultaneous Multi-Projection architecture of NVIDIA Pascal-based GPUs to draw geometry once, then simultaneously project both right-eye and left-eye views of the geometry. This lets developers effectively double the geometry in VR applications, increasing the richness and detail of their virtual world.
- VR SLI (Maxwell and Pascal) – provides increased performance for virtual reality apps where multiple GPUs can be assigned a specific eye to dramatically accelerate stereo rendering. With the GPU affinity application programming interface, VR SLI allows scaling for systems with more than two GPUs.
NVIDIA also maintains a custom branch of Unreal Engine 4 with integrated VRWorks features.
Original Article (11/9/16): As developers explore the limitless potential of VR, performance and efficiency continue to be an essential focus of hardware and software. Unity, one of the most popular game engines for VR development, has been a long-term supporter of the medium, introducing many VR-specific features as the hardware evolved at a frantic pace over the last few years. At GDC 2016, Unity announced they would be adding support for VRWorks, Nvidia’s SDK for optimisation of VR using the company’s GPUs.
At Unite 2016 this month in Los Angeles, this commitment hit an important milestone, with Nvidia providing early access to a version of Unity with native VRWorks support for select VR developers, which includes the four major features for VR graphics optimisation: VR SLI, Multi-res Shading, Lens Matched Shading, and Single Pass Stereo. Developers can apply for early access here. Nvidia says they’re working toward bringing these features into the main branch of Unity. Per the update above, the NVIDIA VRWorks plugin is available now on the Unity Asset Store, supporting Unity 2017.1.b02 or higher.
Integrated VRWorks support in Unity means faster and easier integration of VRWorks technologies for developers, which Nvidia says can result in major performance improvements thanks to features unique to their GPUs. Multi-res Shading, which has already featured in custom branches of Unreal Engine, deals with the barrel distortion required for rendering optically-correct images to a VR headset, rendering multiple viewports across a single render target, using a hardware feature called ‘multi-projection’. By shrinking the outer viewports, the render target is much more efficient, offering a 30% improvement in some cases.
Pascal-equipped systems benefit most significantly, as the Simultaneous Multi Projection technology introduced with the architecture allows VRWorks to perform Lens Matched Shading, where 16 views can be rendered at different angles in a single pass, which can be shaped to closely match the distortion of a lens in a VR headset, resulting in far fewer wasted pixels across the render target. Combined with Single-Pass Stereo—which allows for reprojecting geometry around a second viewport—means 32 views are being rendered in a single pass, which can produce a significant performance increase in pixel shading throughput compared to Maxwell and earlier GPUs.
Ted Carefoot, producer at Cloudhead Games, the studio behind Unity-based The Gallery series, said of the announcement, “Optimizing VR content is always a huge challenge, so we’re very excited to be working with NVIDIA on VRWorks. Features like ‘multi-res’, and ‘lens match’ shading (MRS/LMS) are indispensable tools in the quest to make beautiful, interactive, and deeply immersive virtual worlds.”
Nvidia has also integrated VRWorks into the latest versions of Unreal Engine, Unity’s closest competing game engine for VR development.