Oculus SDK + Tool Updates: June, 2019
Oculus Developer Blog
Posted by Oculus VR
June 24, 2019

We’re excited to announce a number of updates and enhancements to our tools and SDKs this month. If you have questions and/or feedback on any of these updates, feel free to comment below or post on the developer forum.

Oculus Integration for Unity 1.37 + 1.38

New Features + Integration Changes

  • Unity’s XR SDK preview support: More information about the XR SDK can be found at the following Unity Forum post
  • Updated Oculus Unity Integration to 1.38, including:
    • Updated the LipSync integration to 1.38
    • Updated the Audio Spatializer to 1.38

API Updates

  • Breaking change: the OVROverlay prefab now requires an instance of the OVRManager prefab to be present. Apps that wish to update to 1.38 or later may be required to add OVRManager
  • Renamed the TiledMultiRes setting to FixedFoveatedRendering

Unreal Engine 4 Integration 1.37 + 1.38

New Features + Integration Changes

  • Added development support for Rift S
  • Added support for Android External Surfaces to enable high-definition video playback on Unreal compositor layers
  • Added support for Equirect compositor layers
  • Updates to the Oculus Platform Tool to support additional launch settings and expansion files
  • Added Mixed Reality Capture support for Oculus Quest: Integration Guide + Setup and User Guide
  • Updated Oculus Unreal Integration to 1.38

    API Update

    • Renamed the TiledMultiRes setting to FixedFoveatedRendering

    Oculus PC SDK 1.37 + 1.38

    • Added the ovrStatus_OrientationValid and ovrStatus_PositionValid enumerants to enum ovrStatusBits. The 1.37 runtime supports estimating the position and orientation of tracked devices when those devices are not visible to the tracking system. Applications should use ovrStatus_OrientationValid and ovrStatus_PositionValid to indicate that the data returned from ovr_GetTrackingState is valid, as opposed to the existing ovrStatus_OrientationTracked and ovrStatus_PositionTracked flags.
    • For the Rift S and any headsets other than the Rift CV1 being used on a game built against an old SDK version, ovr_GetHmdDesc may return the ovrHmdType as ovrHmd_CV1, for backwards compatibility.
    • For the Rift S and any headsets other than the Rift CV1 being used on a game built against an old SDK version, ovr_GetTrackerCount, ovr_GetTrackerDesc, and ovr_GetTrackerPose may return three Rift CV1 trackers when not actually present for backwards compatibility.
    • The 1.37 SDK introduces the ovrError_AccessDenied error result, which indicates that the application attempted an API call which could not be completed due to the application not having sufficient privileges.
    • ovrHMD_RiftS has been added to ovrHmdType and refers to the Rift S headset.
    • ovrStatus_OrientationValid and ovrStatus_PositionValid were added to ovrStatusBits in the 1.37 SDK release, but were functionally the same as ovrStatus_OrientationTracked and ovrStatus_PositionTracked. Starting with the 1.38 runtime, these values may differ. Applications should use the Valid flags instead of the Tracked flags for most use cases.

    Mobile SDK 1.23

    New Features:

    • Support for Samsung Galaxy S10 smartphones

    API Changes:

    • Added support for the Samsung Galaxy S10
    • Added VRAPI_TRACKING_STATUS_POSITION_VALID and VRAPI_TRACKING_STATUS_ORIENTATION_VALID ovrTrackingStatus flags. previously, it was unclear how to treat orientation and position data when the _TRACKED status bits were not set. The new _VALID bits indicate when the value delivered is usable for rendering or other computation. When the _TRACKED bit is unset, but the _VALID bit is set, the provided pose is usable, but is the result of some model or estimation heuristic

    Development and Publishing Tools

    Speeding Up Iteration Time

    We enhanced the Unity integration in 1.38 to help reduce build and deploy times. To take advantage of this, you will need to update to 1.38 and choose our build step from the Oculus menu in your Unity editor:

    This build process utilizes the Gradle Build System’s cache by only updating files that have changed and alternate ADB commands to help speed up both build and deploy times. Note that these speed gains only take effect on consecutive runs and are aiming at iteration time reduction for Quest and Go devices.

    Additionally, we recommend developers use a USB 3.0 cable when developing, as that can speed up transfer times by roughly 50%.

    Improving Release Channels

    Based on developer feedback, we are happy to share the following release channel improvements:

    • Delete release channels: For channels no longer need, you will find the option to delete.
    • Public release channels: For published apps, you now have the option to make a release channel “public” so that any of your users may self-subscribe.
    • Switch release channels: For users who have access to multiple release channels, they can now change the active channel by visiting the app listing in the Oculus website or application.

    For more information on the many Oculus tools and SDKs, be sure to check out the Documentation and Download sections of the Oculus Developer Center.

    - The Oculus Team