Is Unity suitable for high quality VR game?

We need to develop a VR game for a VR attraction. We started using Unreal Engine. But the support for VR is in our opinion very bad and bugy.
So we consider to switch to Unity. But we are not familiar with Unity. So we are a bit afraid to discover after spending lots of weeks/months developing in Unity that Unity is also lacking VR support.
So therefore the question: Is Unity suitable for a high quality VR game?
What we need:

  • We want the highest possible picture quality (we will use a RTX4090)
  • Is some raytracing supported in VR? (like reflections)

  • We will need the possibility to write custom shaders

  • We will need OpenXR

  • We will need multiplayer support (up to 4 players in local network)

  • Can we use deferred rendering when rendering for VR?

What are the pros and what are the cons of Unity with VR?

1 Like

Unity is lacking features that would actually make high-end VR run well. For instance, no variable rate shading, no foveated rendering capability (without third-party DLL hacks like VR Performance Kit). DLSS is there and VR-compatible but in practice doesn't look great in VR, though it does give good performance.

You can use screen space reflections in VR. Personally, I wouldn't. You're already fighting for every frame you can get, and these features often don't justify the cost. Screen space reflections are honestly kind of ugly to begin with, and it's worse in VR.

You can use deferred rendering in VR. As far as I know, deferred vs. forward makes almost no difference for VR performance though (not in my game, at least).

Support in general is lacking for VR in different areas no matter what engine you use. The needs of VR developers are often left ignored. Unity is far from a great VR solution, but it sounds like neither is Unreal. So you'll have to make some sacrifices no matter what you do.

1 Like