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.

OVR Metrics Tool

The OVR Metrics Tool is an application that can be installed on any Oculus Android VR device to provide performance metrics for applications.

OVR Metrics Tool reports application frame rate, heat, GPU and CPU throttling values, utilization, and the number of tears and stale frames per second. OVR Metrics Tool and release notes for the latest version can be found on our OVR Metrics Tool download page.

OVR Metrics Tool can be run two modes. In Report Mode, it produces a performance report about a VR session after it is complete. Report data may be easily exported as a CSV and PNG graphs.

In Performance HUD Mode, OVR Metrics Tool renders performance graphs as a VR overlay over any running Oculus application.

OVR Metrics Tool may be used with any Oculus Mobile application, including those built with Unity, Unreal, or our native Mobile SDK.

Installation

Install OVRMetricsTool.apk on any Oculus Go or Oculus Quest. For more details, see “Using ADB to Install Applications” in our ADB guide or the “Install an App” section of Google’s ADB documentation.

OVR Metrics Tool can be launched from the Unknown Sources section of the VR device’s app Library. It can also be launched by connecting the device to a computer via ADB and issuing the following command:

adb shell am start omms://app

Report Mode Usage

To enable report mode, first open OVR Metrics Tool and enable the toggle labeled Record all captured metrics to csv files. You can also enable report mode by issuing the following adb command:

adb shell setprop debug.oculus.omms.enableCSV true

Run your VR application and conduct a session you want to gather data for. Note that data will be logged from every application you run. After you have finished your session and exited VR, open OVR Metrics Tool again and click the drop-down menu in the upper-right corner, and select View Recorded Sessions. Select the entry that corresponds to your session and you will see a series of graphs describing performance during session. Use the buttons at the bottom of the report to save the information or share an image of the report. Recorded sessions can also be retrieved from /OVRMonitorMetricsService/CapturedMetrics/ as a CSV file for your own analysis.

Performance HUD Usage

To enable performance HUD mode, open the OVR Metrics Tool and enable the toggle that says Enable Persistent Overlay. Alternatively you can enable the HUD by issuing the command:

adb shell setprop debug.oculus.omms.enableOverlay true

Once performance HUD mode is enabled, you can customize the HUD itself using the Options screen in the OVR Metrics Tool toolbar menu or by using the following ADB commands:

adb shell setprop debug.oculus.omms.enableGraph (true|false) // show or hide the graph
adb shell setprop debug.oculus.omms.enableStats (true|false) // show or hide the stats
adb shell setprop debug.oculus.omms.pitch (number) // set the pitch of the perf hud (degrees from center)
adb shell setprop debug.oculus.omms.yaw (number) // set the yaw of the perf hud (degrees from center)
adb shell setprop debug.oculus.omms.distance (number) // set the distance of the perf hud (meters)
adb shell setprop debug.oculus.omms.scale (number) // set the scale of the perf hud (1,2, or 3)
adb shell setprop debug.oculus.omms.headLocked (true|false) // whether to head lock the hud or position it in space

Remote Device Management

To enable remote device management, first make sure the remote device management toggle is enabled on both the device you wish to control, and the device from which you will be controlling. You can also enable remote management by setting the following property:

adb shell setprop debug.oculus.omms.enableBT true

Next, select Connect to Device from the Options menu. This will search for local Oculus devices over Bluetooth that have remote management enabled. Tap a device to connect to it. Once connected, you can configure the HUD of the remote device and receive real-time stats to the local device.

CPU/GPU Utilization Monitoring

On Oculus Go and Oculus Quest, CPU/GPU utilization will always be enabled by default. The setting can be turned on and off with the following property:

adb shell setprop debug.oculus.vrapilayers UtilPoller