Oculus Mobile SDK

1.9.0 | Published 2017-10-26
I have read and agree to the terms of the EULA, Terms of Use and Privacy Policy

Oculus Mobile SDK 1.9.0

The Mobile SDK includes libraries, tools, and resources for native C/C++ development for Oculus Go and Samsung Gear VR. If you work primarily with Unity or Unreal Engine, in most cases it is not necessary to download the Mobile SDK.

For more information, see our Mobile SDK Developer Guide.

This release provides support for a new frame submission path which allows for new layer types such as Cylinder, Cube, and Equirect, enables you to specify a user-defined tracking transform, and adds support for a new performance API.

FBX Converter has been removed from the SDK.

For details on migrating to Mobile SDK 1.9.0 from previous versions, see Mobile SDK Migration Guide.

New Features

  • The Android NDK build version has changed to r15c.

API Changes

  • Added a new frame submission API which supports flexible layer lists and only requires a single fence for singaling frame completion.
  • Added a new layer API which supports the following layer types: Projection, Cylinder, Cube, and Equirect.
  • Added a new performance API for specifying clock levels, application performance threads, and extra latency mode setting.
  • Added a new tracking transform API which allows the application to specify the space that tracked poses are reported in, i.e., Floor Level or Eye Level. The default tracking transform is Eye Level.
  • Head Model Parameters are no longer provided on the API. Since the VrApi runtime is responsible for applying the head model, applications should no longer do so. The new tracking transform API can be used to achieve the desired Floor or Eye Level space.
  • MinimumVsyncs was renamed to SwapInterval.
  • Marked vrapi_RecenterInputPose as deprecated.
  • Removed VRAPI_SYS_STATUS_HEADPHONES_PLUGGED_IN, VRAPI_SYS_UI_GLOBAL_MENU, and VRAPI_SYS_STATUS_THROTTLED2 from API.

Bug Fixes

  • Fixed bug in VrAppFramework where MemBufferT took ownership of a buffer allocated with malloc and freed the buffer using delete[].

Known Issues

  • The 1.7.0 SDK changed how head poses were reported. Before 1.7.0, applications were expected to apply a head model if necessary. With 1.7.0, head poses were returned with the head model already applied, but also with a pose y position relative to the floor instead of relative to the nominal eye height. With 1.9.0, head poses are reported with a head model applied, but the default space they are reported in is again relative to nominal eye height. The space that poses are reported in can be changed with vrapi_{Get/Set}TrackingTransform().