Best Installation Path
- Use latest Oculus Fork of Unreal Engine 5 (https://github.com/Oculus-VR/UnrealEngine)
- Installation instructions: Unreal Engine 5.4.x for Meta Quest VR | Community tutorial
- Contains the MetaXR & MetaXRPlatform plugins built-in
- Many fixes specific to Meta Quest development that the official Epic build will not have
- Includes many template VR projects to help you better understand working with Quest 3 in Unreal Engine
- Extra Rendering Settings not available in the official Epic build, including:
- “Support Mobile Application Space Warp”
- “Support XR Soft Occulsions” (for mixed reality passthrough)
- Will be around 250GB total after you Build the Engine in Visual Studio (compared to 150GB in official UE5.4 download)
Important!
In order to correctly test Quest 3 environment on your PC in VR Preview mode, you must do the following or else you will instead have a PC VR experience when in VR Preview mode:
* Click Settings button (Top-right corner in UE5) > Preview Platform > Android Vulkan Mobile.
Rendering Facts
-
The Quest is a PowerVR tiled renderer
- Deferred rendering would perform too poorly on it
- Forward rendering is the only option
-
Static baked lighting is the only viable lighting option for your scene. Fully dynamic lighting is not an option.
- Do not use movable lighting unless you add a single movable directional light (read about shadows below).
- Use stationary lights to light your character, interactable objects, NPCs, etc. and make sure they do not overlap each other
- Never use a rect light in your level since it is unsupported.
-
To get shadows to render:
- Change the default shadow quality settings for Quest 3 by going to Tools > Platforms > Profiles, selecting Meta_Quest_3 and adding a Console Variable for the Rendering section, setting r.ShadowQuality to 2
- Enable “Support Movable Directional Lights” found in Project Settings > Rendering > Mobile Shader Permutation Reduction section
- Only use a single directional light for shadows in your level and set the directional light to movable
-
Keep draw calls as low as possible, 100 - 300
- Combine all static meshes in a level into one mesh that uses one material and one atlas texture
- All interactive objects / skeletal meshes should use only one material each
- Under Project Settings > Rendering > Mobile, select “Enable GPUScene on Mobile” to improve the performance of your games by rendering the objects that share the same mesh and material multiple times, while sending them to the GPU in as little draw calls as possible
-
Keep max culled scene poly count under 100k - 200k
-
Use MSAA for anti-aliasing if you decide to use AA. FXAA & TAA will most definitely blur your scene, so do not use those methods
-
Set “Enable alpha channel support in post processing (experimental)” to “Allow through tonemapper”, which will enable the tonemapper for mobile and will fix the washed-out colors in your scene
-
Watch the following videos to understand development on the Meta Quest better
- https://www.youtube.com/watch?v=JvMQUz0g_Tk (older video about the original Quest, but still informative)
DO NOT:
- Do not use “Stereo Foveation Level” or “Dynamic Foveation” in Project Settings > Rendering > VR. This currently crashes UE5.4.4 in VR Preview mode.
(I’ll be updating this topic as I continue working on my own project & understanding more about the nuances of Quest 3 & UE5)