Oculus Mobile SDK
| Oculus Mobile SDK | |
|---|---|
| Information | |
| Type | Software development kit |
| Industry | Virtual reality |
| Developer | Oculus (later Meta Platforms) |
| Operating System | Android |
| Supported Devices | Samsung Gear VR, Oculus Go, early Meta Quest |
| Release Date | November 2014 |
| Website | https://developers.meta.com/horizon/documentation/native/android/mobile-intro |
Oculus Mobile SDK was the native Android software development kit that Oculus released for building virtual reality applications on standalone and phone-powered mobile headsets, beginning with the Samsung Gear VR. It was developed by Oculus (later part of Meta Platforms) in collaboration with Samsung, and its core component was a native library called VrApi that managed the VR rendering loop, head tracking, and frame submission on Android. The first public release, version 0.4.0, came out in November 2014 alongside the Gear VR Innovator Edition.[1][2]
The SDK targeted Gear VR and later the Oculus Go and the original Meta Quest. Oculus deprecated it in favor of the cross-vendor OpenXR standard: the Mobile SDK and its VrApi library became unsupported on August 31, 2022, and Meta directed new development to OpenXR.[3][4]
Origin and Gear VR
Samsung and Oculus announced the Gear VR at IFA Berlin on September 3, 2014, alongside the Galaxy Note 4 phone that slotted into the headset.[5] Oculus CTO John Carmack and the Oculus mobile team had spent roughly a year working with Samsung to tune the Galaxy Note 4 stack for low-latency mobile VR.[5] Because the Gear VR ran on a phone's mobile system-on-chip rather than a tethered PC, the software had to extract usable VR performance from constrained thermal and compute budgets, which shaped the SDK's design.
The first Gear VR shipped as the SM-R320 Innovator Edition in late 2014, compatible only with the Note 4 and aimed at developers and early adopters rather than the mass market.[6] The Oculus Mobile SDK was the toolchain those developers used to build for it.
Release and contents
Oculus launched version 0.4.0 of the Mobile SDK at the Samsung Developer Conference on November 12, 2014. The download was around 868 MB and was distributed through the Oculus developer portal.[1][7]
The release bundled native libraries and demos, out-of-the-box integration for Unity 4.5 with sample projects, and the full source code for the Oculus Cinema, Oculus 360 Photos, and Oculus 360 Videos applications under an open license.[2][7] Later versions of the SDK suite added Unreal Engine integration and support for additional devices as the mobile VR line expanded.[8]
Features
The native SDK exposed a set of low-level techniques meant to hold latency and frame timing within the tight tolerances that VR comfort requires on mobile hardware.[2] Its documented features were:
- Asynchronous Timewarp
- Direct front buffer rendering
- Clock frequency locking
- GPU context priorities
- Real-time, fine grained GPU context switching
- Real-time CPU threading
- Direct warped content
Asynchronous Timewarp (ATW) reprojects the most recently rendered frame using the latest head-tracking data when the application has not finished a new frame in time, which lowers perceived latency and reduces visible judder when the app drops below the display's refresh rate.[9] Carmack added a TimeWarp implementation to Oculus software in April 2014, and ATW first shipped on the Gear VR Innovator Edition in late 2014 before reaching the PC SDK.[9] Direct front buffer rendering writes warped content straight to the display's front buffer to shave additional milliseconds off the path from sensor reading to photons, while clock frequency locking pins CPU and GPU frequencies to keep frame timing predictable under the phone's thermal limits.[2]
VrApi tied this rendering pipeline to the Android activity lifecycle: an application could only enter VR mode while its activity was resumed with a valid surface. A typical frame created eye-texture swap chains, queried a predicted head pose, rendered the stereoscopic image, and submitted it with a frame-submission call, after which ATW applied a final correction using the newest sensor data.[3]
Deprecation and replacement by OpenXR
The Khronos Group introduced OpenXR in 2017 as a cross-vendor standard so that a single application could target headsets from different makers. Before that, developers faced separate proprietary APIs: VrApi for Oculus mobile headsets, LibOVR (also called CAPI) for the PC-tethered Oculus Rift, and OpenVR for the HTC Vive, which forced per-platform rewrites and bug fixes.[10]
Meta moved its tooling onto OpenXR over several releases. Gear VR application development was the first to be cut: it was dropped beginning with Oculus native Mobile SDK 1.27.0 and SDK Suite 1.42 integration, leaving Mobile SDK 1.26.0 and integration 1.41 as the last versions to support Gear VR.[8] For the platform's APIs as a whole, Meta set out a deprecation timeline: the Oculus Mobile and PC APIs entered limited "compatibility support" on August 31, 2021, with new features delivered through OpenXR extensions rather than new proprietary API capabilities; they became unsupported on August 31, 2022; and legacy VRAPI and CAPI builds were supported through roughly March 2023 (v50).[4][3] Meta later stated that the VRAPI library is not supported for applications created after June 19, 2024.[11]
Status
As of 2026 the Oculus Mobile SDK and its VrApi library are deprecated and unsupported, and OpenXR is the only supported native API for new development on Meta Quest headsets.[3][4] The devices the SDK originally targeted have also reached end of life. Meta stopped accepting new Gear VR apps in the Oculus Store after September 15, 2020, and Samsung terminated its Samsung XR service and VR Video apps on September 30, 2020, citing that the Gear VR was no longer available.[12][13] The Oculus Go, which used a similar mobile software stack, was discontinued in June 2020.[14] Existing apps built against the Mobile SDK may continue to run, but Meta provides only critical security, privacy, and safety fixes for the legacy APIs.[4]
References
- ↑ 1.0 1.1 "SDC 2014: Oculus Launches Mobile SDK for Android Development on Gear VR". 2014-11-12. https://www.roadtovr.com/oculus-launches-mobile-sdk-android-development-gear-vr-breaking/.
- ↑ 2.0 2.1 2.2 2.3 "The Oculus Mobile SDK v0.4.0 is Now Available for Samsung Gear VR Innovator Edition on Note 4". 2014-11-18. https://appdevelopermagazine.com/2124/2014/11/18/The-Oculus-Mobile-SDK-v0.4.0-is-Now-Available-for-Samsung-Gear-VR-Innovator-Edition-on-Note-4/.
- ↑ 3.0 3.1 3.2 3.3 "VrApi Fundamentals (Deprecated)". https://developers.meta.com/horizon/documentation/native/android/mobile-vrapi/.
- ↑ 4.0 4.1 4.2 4.3 "Oculus All In on OpenXR: Deprecates Proprietary APIs". https://developers.meta.com/horizon/blog/oculus-all-in-on-openxr-deprecates-proprietary-apis/.
- ↑ 5.0 5.1 "Samsung Partners with Oculus to Blow Your Mind with the new Gear VR". 2014-09-03. https://news.samsung.com/global/ifa-2014-first-look-at-samsung-gear-vr.
- ↑ "Everything You Need to Know About Samsung Gear VR Phone Compatibility". https://roadtovr.com/everything-you-need-to-know-about-samsung-gear-vr-phone-compatibility/.
- ↑ 7.0 7.1 "Oculus releases mobile SDK for Samsung's Gear VR Innovator Edition headset". 2014-11-13. https://www.techspot.com/news/58809-oculus-releases-mobile-sdk-samsung-gear-vr-innovator.html.
- ↑ 8.0 8.1 "Gear VR App Development no Longer Supported From Oculus SDK Suite 1.42 and Future Versions". https://developers.meta.com/horizon/blog/gear-vr-app-development-no-longer-supported-from-sdk-suite-142-and-future-versions/.
- ↑ 9.0 9.1 "VR Timewarp, Spacewarp, Reprojection, And Motion Smoothing Explained". https://www.uploadvr.com/reprojection-explained/.
- ↑ "OpenXR, VRAPI, and LibOVR". https://developers.meta.com/horizon/documentation/unity/os-openxr-vrapi/.
- ↑ "Error: VRAPI Library Not Supported After June 19, 2024 - Migration to OpenXR Needed". https://forums.developer.nvidia.com/t/error-vrapi-library-not-supported-after-june-19-2024-migration-to-openxr-needed/313907.
- ↑ "Facebook Ends Samsung Gear VR Software Updates, 360 Video Downloads and Films". https://www.uploadvr.com/samsung-gear-vr-updates-end/.
- ↑ "Now that Gear VR is no longer available, Samsung XR service is being killed". 2020-05-15. https://www.sammobile.com/news/gear-vr-no-longer-available-samsung-xr-service-killed/.
- ↑ "Oculus discontinues the Gear VR-based Go headset". 2020-06-24. https://www.androidpolice.com/2020/06/24/oculus-discontinues-the-gear-vr-based-go-headset/.