DEVICE-CENTRIC DOCUMENTATION

The site has a new content architecture. We've added the ability to select your development device to show device-specific content. Please read our blog post Oculus Developer Center Update: Device-centric Documentation Architecture for more information.

Oculus Quest Development

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.

Reserved User Interactions

This section describes input actions that are reserved for system-level functionality. This includes the following physical buttons: Volume, Back, and Home.

Reserved User Interactions

The Back button, Home button, and Volume button behaviors must conform to specific requirements.

Volume Button Interactions

Volume adjustment on the Oculus Android devices is handled automatically. The volume control dialog display is also handled automatically by the VrApi as of Mobile SDK 1.0.3. Do not implement your own volume display handling, or users will see two juxtaposed displays.

You may override automatic volume display handling if necessary by setting VRAPI_FRAME_FLAG_INHIBIT_VOLUME_LAYER as an ovrFrameParm flag.

Volume buttons are not exposed through VrApi interfaces.

Back Button Interactions

Back button presses are of three types: long-press, short-press, and aborted long-press.

Short-press back button behavior is determined by the application. It is typically (but not necessarily) treated as a generic back action appropriate to the application’s current state.

Back actions usually prompt apps to navigate one level up in an interface hierarchy. For example, a short-press on the back button may bring up the application’s menu. In another application, a short-press may act as a generic back navigation in the UI hierarchy until the root is reached, at which point it may bring up an application-specific menu, or enter the Quit Confirmation dialog, allowing the user to exit the application.

In applications built with Unity, if no satisfactory stateful condition is identified by the application, the short-press opens the Quit Confirmation dialog allowing the user to exit the app and return to Oculus Home. Applications built with other engines must implement this handling.

An aborted long-press results in no action, and when a timer is being shown cancels the timer.

When using the VrApi interfaces, the Back button will be shown to be down for a short press only on the frame that it is actually released. This prevents the app from having to implement its own short press detection.

Home Button Interactions

A Home button press always opens a dialog to return the user to Oculus Home. As of Mobile SDK 1.0.4, this behavior is handled automatically by the VrApi.

If the Home button is held down on a Oculus Go controller, it will start a timer for a controller re-center. The Home button must be held down for 0.75 seconds for the re-center action to complete.

The Home button is not exposed through the VrApi interfaces, and no Android events will be passed to the app for the Home button.