How do i set the Display Frequency of Quest 2 project to 90Hz?

I’m using OpenXR/Vulkan in UE 5.0.3 to build for Quest 2, it seems the Set Display Frequency node is not exposed to blueprint yet. How do i set the display frequency to 90Hz with C++?

My project will be running in a lab and running at 90Hz is a critical requirement.

It’s not available in the current OpenXR addon. You would have to implement the XR_FB_display_refresh_rate OpenXR extension using the IOpenXRExtensionPlugin interface.

2 Likes

how do i do that?

You would have to create a plugin.

I’d suggest looking at the OpenXREyeTracker plugin in the engine code for an example on how everything is set up.

The plugin needs to have a OpenXR plugin class that implements the IOpenXRExtensionPlugin interface, and a module class that runs when the engine starts and instantiates the plugin.

In the plugin class, implement the GetRequiredExtensions or the GetOptionalExtensions function from IOpenXRExtensionPlugin, and make it return the OpenXR extension to make the runtime enable it. If you just want a simple implementation that forces the frame rate to 90 Hz, you can implement one of the other functions like PostCreateSession and make the call to OpenXR to change the refresh rate. If you need the frame rate to be controllable from you application, you need to set up the module with an accessor for your addon instance.

1 Like