OpenXR: SRP Foveation automatically reset to Legacy after build

As title says, after building an OpenXR app, foveation method is being set to Legacy automatically (Unity 6000.3.13f1). Not sure what ends up in the build (Legacy or SRP Foveation), but this is definitely a severe bug.

Please submit a bug report via Unity Bug Reporter as well. Also, attach the internal number that you will receive via Email after submitting. Only a post with such a number makes sense here on Discussions.

@andyb-unity

Also experiencing this issue

Seems in a fresh project the issue does not happen. So I cannot build a repo project easily, and cannot submit our production project.

So the issue is in your environment. The art of creating a bug report is to provide an MVP in which this bug manifests itself, without sending an entire project.

I did send many dozens of bugs reports already, so I basically know how it works;) But issue here is that this might be a bug related to project migrations (from one Unity version to another) or some conflict with whoknowswhat. That’s not easy to find out. Might be an art, but I won’t have time for this right now.

This can be determined.

Check differences in project settings/meta files in Git between your project and the new Unity project.

of course it can, I just don’t have time for it, as after every change you need to do a build to see if the bug is triggered or not.

Seems the issue was already known and fixed in OpenXR 1.17.0-pre.2:

  • Fixed an issue where the Foveated Rendering Api choice gets overwritten by the MetaQuestFeature window.

However, I tried the now available version OpenXR 1.17.0, and it breaks rendering completely in our setup (Passthrough), only rendering parts of the screen at all… I wonder how the QA process is for new OpenXR package releases, as this is not the first time a severe bug gets shipped.

Another interesting find: I found a way to enable SRP Foveation with OpenXR 1.16.x with a build script.

Surprisingly, it does not work when enabled, it breaks rendering in somehow similar way as I experienced with 1.17.0. Which is kind of funny, as Vulkan was the only platform left were SRP Foveation should work (On Directx 12 it’s also completely broken).

So Unity disabling SPR foveation on a build is actually a good thing;)