Tech Notes: Full Screen Mirror Windows for PC
Oculus Developer Blog
Posted by Eric Cosky
March 13, 2017

Welcome back to the latest edition of our Tech Notes series! In today's post, we provide some best practices for setting up mirroring of your VR app on the desktop monitor.

Sharing with friends in VR can happen in the app itself or through the “mirror” window. When a Rift VR application is running, the desktop monitor usually shows what the user is seeing in VR in a desktop window. This is known as a “mirror” window.

We’ve received overwhelming feedback from the VR community that a full-screen, non-exclusive borderless window is preferred over other display modes. In addition to reducing unintended loss of window focus, a full-screen window makes it easier for friends to experience what’s going on inside the headset. Not only does this lead to a more enjoyable spectator experience, it also lets your friends capture video and livestream your app so even more people can see what's happening in VR.

In the past, we haven’t provided guidance for how the mirror window should be configured. As a result, some VR apps use smaller mirror windows, which isn’t ideal for sharing the experience with others outside the headset.

Moving forward, the use of a full-screen mirror window is a recommended guideline for the Oculus Store, and submissions will be checked for their use. This isn’t a strict requirement that will prevent publishing approval; however, it will be reported as a warning in the test results on the developer dashboard. While this guideline doesn’t preclude the use of non-full-screen mirror windows as an option, it’s the recommended default behavior. If there are performance concerns that require the use of a smaller mirror window by default, the window should be movable, resizable and provide a toggle to enter full-screen mode in order to provide the user full control how it appears on the desktop.

Unity Setup

To set up your application to use a full-screen mirror window in Unity, configure the player settings as shown:

These settings will default the game window to a non-exclusive, full-screen borderless window. Pressing alt-enter will switch it to a resizable window which the user can move, maximize, or press alt-enter to return to a full screen borderless window.

Changes to the window settings are saved in the registry under the key HKCU\Software\[company name]\[product name] so users who do prefer something other than a full screen window won't need to adjust it every time. Testing the default behavior of your app should include carefully resetting or removing these registry keys to ensure previous sessions don't affect the results. For more information about Unity registry settings, please refer to the official Unity documentation.

Unreal Setup

While Unreal has a few options for setting up a full-screen mirror window, the simplest route is to use a few Blueprint commands in the level blueprint as shown:

It’s as simple as that! We hope this guidance is helpful and lets even more people experience your amazing work in VR.

Topics you’d like us to cover in a future post? Drop us a line in the comments!