Download

Proper working configuration for using Vulkan in a project for Quest/Quest2?

I’ve been struggling with the 4.25 (oculus branch) and development for the Quest
With some trial and error I managed to set everything up to work with ES 3.1.

As the project is getting bigger and more complex, I wanted to test if using Vulkan might achieve better performance in some problem areas and also be ready when openGL gets dropped (which is happening soon, I guess).

However I’ve (again) hit a brick wall when configuring the project.
I’m trying again through trial and error, since this is all somewhat of novelty (both Quest and Vulkan for mobile in UE) and I’m definitely not a superstar gpu developer (I’m hardly a dev at all lol). It’s almost completely undocumented apart from a couple of blog posts and some (non VR specific) UE documentation entries.

Here are some specific questions, but any kind of info is more than welcome:

  1. the UE documentation says ‘mobile HDR’ should be enabled (link: VulkanMobileRenderer) - however it’s obviously standard practice to not use mobile HDR when doing VR for performance reasons.
  2. Even if I wanted to disable mobile HDR it seems MSAA crashes the editor if mobile HDR is disabled. I’ve noticed the same thing with ES 3.1, however **‘mobile multi-view’ **is the culprit there (so everything works fine, but crashes the editor if both multiview and msaa are enabled
  3. MSAA seems to be working (at least in the preview, don’t know about the built app on quest yet) even if forward rendering is disabled! Please excuse my lack of knowledge, I was under the impression that in UE it only works with the forward renderer (also stated in the docs)
  4. Should I be using forward rendering with Vulkan at all (assuming msaa works without it)?

The resources available are sadly a bit too technical for me (for example:Developer Insights: How to Develop with Vulkan for Mobile VR Rendering | Oculus). I’m aware this is stil experimental, but if anyone can shed some light, that’d be awesome because it seems question regarding this are left pretty much unanswered on the Oculus forum, github, but also the UE answerhub.

To (partly) answer one of my claims, this forum post: “ES2.0 and ES3.1 are pure forward renderers” and then the UE editor forward shading tooltip: “enable forward shading on desktop…”

This makes sense, I guess, considering the differences in how mobile and desktop gpus render (which I only have a very general idea on, obviously).

Did you ever figure out for the Quest 4.25 Unreal branch what settings play nice and are the most optimal?
To further complicate things certain nodes in the material graph like Depth Fade wont’ work if you don’t use Vulkan.