Recommended Settings

Note: you are currently viewing documentation for a beta or an older version of Varjo

This page shows the recommended settings for maximizing performance and visual quality for Varjo headsets.

Table of Contents

INSTANCED STEREO

Instanced Stereo is supported for Varjo headsets starting from Unreal Engine 5.0.2.

It’s recommended to keep instanced stereo rendering enabled.

FOVEATED RENDERING

We recommended that you keep foveated rendering enabled when using the Varjo OpenXR plugin. Foveated rendering makes use of the eye tracking functionality in Varjo headsets to improve performance by reducing the image quality in peripheral areas where the user is not looking. Read more about supported dynamic viewport foveated rendering.

HARDWARE OCCLUSION QUERIES

When using Hardware Occlusion Queries the Actor’s visibility is read back one frame later, which can cause them to “pop in” if the camera is moving very fast. This can further cause rendering artefacts with Varjo’s four-viewport setup, especially when using foveated rendering.

We currently recommend to disable hardware occlusion queries. Go to Project Settings > Rendering > Culling and deselect Occlusion Culling.

UNREAL ENGINE 5.3 + VARJO PLUGIN FEATURES

In Unreal Engine 5.3 it is now possible to switch between Quad view and Stereo view with a Varjo plugin.

Stereo view Lumen Global Illumination.

Lumen is a fully dynamic global illumination system that uses ray tracing to calculate lighting in real time. This means that Lumen can produce realistic lighting effects even in complex scenes with many moving objects. However, Lumen can be computationally expensive, even on high-end hardware.

Pros:

  • Support for the latest, yet still experimental, features in Unreal Engine 5.3

  • Very high Global Illumination accuracy and overall quality

  • Very promising optimization with a combination of Lumen + Nanite + Virtual Textures

  • Better reflection and refraction system

Cons:

  • Does not support Varjo eye tracked foveated rendering

  • Low performance (expect 30-60 fps)

  • High-end GPU (RTX4090) is a must

Industry use cases:

  • Automotive

  • Architecture

  • Virtual Production

  • Product Visualization

Quad view Screen Space Global Illumination (SSGI)

SSGI is a less computationally expensive global illumination system that uses screen space effects to approximate global illumination. SSGI can produce realistic lighting effects in most scenes, but it may not be as accurate as Lumen in complex scenes or scenes with many moving objects.

Pros:

  • Supports all Varjo features with eye tracked foveated rendering

  • High performance (expect 60-90 fps)

  • Mid-range GPU (RTX 2080TI/RTX 3090) is a recommended minimum

  • Supports Nanite or LODs

Cons:

  • Medium Global Illumination accuracy and overall quality

  • Below average reflections and refraction system

Industry use cases:

  • Simulation

  • Design Review

  • Game Development

  • Virtual Production

  • Product Visualization

  • VR/XR

Setting up Quad view:

  • In order to make the Quad view work, go to Project Settings > Plugins and set Varjo OpenXR rendering mode to “Quad view”.

  • Starting from Unreal Engine version 5.3 it is now possible to use Quad view together with eye tracked Foveated rendering providing the highest possible resolution with best project performance optimization.

  • Currently recommended settings for the Quad view method will be to use the default SSR GI with SSR reflection, best way to achieve this is to set Dynamic Global Illumination method and Reflection method settings to “None” in Rendering > Project Settings:

  • For more precise control of the reflection in Post Process volume set Reflections to “Screen Space” and adjust the following settings according to your project:

  • Expected performance with the Quad view method in Deferred rendering is around 60-90 fps.

Setting up Stereo view

  • In order to make the Stereo view work, go to Project Settings > Plugins > Varjo OpenXR and set Rendering Mode to “Stereo”.

  • Be advised that in Stereo view Foveated Rendering will be disabled and there will be no eye tracked Foveation Rendering involved.

  • Recommended settings for the Stereo view method will be to set Dynamic Global Illumination method to “Lumen” and the Reflection Method to “Lumen”.

  • For more precise control of the Lumen Global Illumination and Lumen Reflection in Post Process volume, adjust the following settings according to your project:

  • For more information on how to set up your project for Lumen Deferred rendering in Unreal Engine 5.3, please refer to “Unreal Engine 5.1 Deferred Rendering” section of this documentation.

  • For better visual quality and performance please adjust the following settings in Varjo Base > Headset > set Simple Rendering On

  • Be advised that Lumen in VR should be still considered as experimental and not production ready or recommended by Epic Games.

  • Expected performance with Stereo view method in Deferred rendering is around 30-60 fps.

UNREAL ENGINE 5.1 DEFERRED RENDERING

This is a step-by-step guide for setting up your project using Deferred rendering (including Lumen and Nanite)

Note: As Epic Games does not officially recommend to use this method for VR, even though it is possible, we highly recommend using Nvidia RTX 3080ti GPU at minimum, and using 3090ti and 4000 generation GPUs would be even better.

Note: This approach should be considered as an Experimental and not production ready yet.

To set up the project to use the latest features of ue5.1, follow these instructions:

1.Go to Project Settings > Project > Target Hardware, and select Desktop and Maximum from the drop-down list. Click Restart Editor.

2.After the restart it will take some time for the editor to recompile the shaders.

3.Next, set up the rendering settings for the project: go to Project Settings > Engine > Rendering.

4.Enable virtual textures.

5.Disable Forward Shading.

6.Disable Allow Static Lighting.

7.Enable Nanite.

8.Enable Hardware Ray Tracing, and to create skin cache, click Yes on the opened window.

(Test this setting depending on the project.)

9.Enable Use Hardware Raytracing when available.

(Test this setting depending on the project.)

10.Enable Instanced Stereo.

Note: Instanced Stereo Rendering may cause glitches and/or flickering on Nanite meshes.

Work-around: Disable Instanced Stereo > restart > enable Instanced Stereo > restart = no flickering.

11.Disable all the post process features,set Auto Exposure to Manual and Anti-Aliasing Method to TSR.

(Experiment with this setting depending on the project.)

12.Disable Separate Translucency.

(Experiment with this setting depending on the project.)

13.Experiment with different combinations of these settings to find an optimal quality vs performance settings according to your project.

14.Restart the project.

15.Depending on the size of your project it will take some time for UE5.1 to compile the shaders.

16.Apply Nanite to all of the meshes in the scene.11.35 20/12/202211.35 20/12/2022

17.Additionally, open Nanite Tools.

Disable the unsupported meshes with transparent materials on them.

18.To make a build, use the following settings in Project Settings > Packaging: set Build Configuration to Shipping and enable Full Rebuild.

19.All the Lights should be set to Movable

20.Control all Lumen settings from Post Process Volume

(Experiment with this setting depending on the project.)