Oculus SDK Changelog

What's new in Oculus SDK 32.0.0

Sep 13, 2021
  • What's New:
  • This release focuses on bug fixes and improvements. No new features are released in this version.
  • Improvements:
  • Removed signature check in LibOVR.
  • Bug Fixes:
  • Fixed memory leak in OculusRoomTiny_DX12.
  • Fix support for debug layers in OculusRoomTiny_Vk.

New in Oculus SDK 1.11.0 (Feb 10, 2017)

  • New Features:
  • Added ovr_SpecifyTrackingOrigin(), which enables you to specify the tracking origin instead of setting the tracking origin based on the user's current location.
  • Added IndexTriggerRaw, HandTriggerRaw, and ThumbstickRaw, which provide raw button values without a deadzone or filter.
  • Added the following ASW Performance HUD statistics:
  • ASW Status
  • ASW Active-Toggle Count
  • ASW Presented-Frame Count
  • ASW Failed-Frame Count
  • Added the following ASW SDK statistics:
  • AswIsActive
  • AswActivatedToggleCount
  • AswPresentedFrameCount
  • AswFailedFrameCount
  • Known Issues:
  • Some older AMD CPUs are not currently compatible with Asynchronous SpaceWarp (ASW), which might cause your system to repeatedly crash. The workaround is to disable ASW by setting its registry key to 0.
  • If you encounter intermittent tracking issues, remove the batteries from any Engineering Sample Oculus Remotes that you paired with your headset and contact Developer Relations for replacement remotes.
  • If you bypass the shim and communicate with the DLL directly, without specifying a version to ovr_Initialize, the DLL has no way of knowing the SDK version with which the application was built. This can result in unpredictable or erratic behavior which might cause the application to crash.
  • There are some USB chipsets that do not meet the USB 3.0 specification and are incompatible with the Oculus Rift sensor. If you receive a notification in Oculus Home or the Oculus App, plug the sensor into a different USB 3.0 port (blue). If none of the USB 3.0 ports work, plug the sensor into a USB 2.0 port (black).
  • Antivirus software, such a McAfee, can cause installation issues. To work around the issue, make sure you have the latest updates and disable real-time scanning.
  • If you encounter installation issues, delete the Oculus folder and install the software again.
  • If the Rift displays a message that instructs you to take off the headset, remove it and place it on a flat surface for 10-15 seconds.
  • The keyboard and mouse do not work in Oculus Home. To select an item, gaze at it and select it using the Oculus Remote or Xbox controller.
  • Bandwidth-intensive USB devices, such as web cams and high-end audio interfaces, might not work when using the Rift. To work around this issue, install the device on another USB host controller or a separate computer.
  • For dual-boot systems using DK2 or CB1 HMDs, the OS selection screen might appear on the HMD instead of the monitor. To work around this, try plugging the HMD into a different port or unplug the HMD while booting.
  • If you are running your application from the Unity Editor and you press the controller's home button to return to Oculus Home, you will be prompted to close the application. If you select OK, Unity might remain in a state where it is running, but will never get focus. To work around this, restart Unity.

New in Oculus SDK 1.10.0 (Nov 18, 2016)

  • New Features:
  • Enabled ASW by default. For more information, see Asynchronous SpaceWarp.
  • Added Touch optimizations.
  • Minor performance improvements, memory management fixes, and other updates.
  • Known Issues:
  • If you encounter intermittent tracking issues, remove the batteries from any Engineering Sample Oculus Remotes that you paired with your headset and contact Developer Relations for replacement remotes.
  • If you bypass the shim and communicate with the DLL directly, without specifying a version to ovr_Initialize, the DLL has no way of knowing the SDK version with which the application was built. This can result in unpredictable or erratic behavior which might cause the application to crash.
  • There are some USB chipsets that do not meet the USB 3.0 specification and are incompatible with the Oculus Rift sensor. If you receive a notification in Oculus Home or the Oculus App, plug the sensor into a different USB 3.0 port (blue). If none of the USB 3.0 ports work, plug the sensor into a USB 2.0 port (black).
  • Antivirus software, such a McAfee, can cause installation issues. To work around the issue, make sure you have the latest updates and disable real-time scanning.
  • If you encounter installation issues, delete the Oculus folder and install the software again.
  • If the Rift displays a message that instructs you to take off the headset, remove it and place it on a flat surface for 10-15 seconds.
  • The keyboard and mouse do not work in Oculus Home. To select an item, gaze at it and select it using the Oculus Remote or Xbox controller.
  • Bandwidth-intensive USB devices, such as web cams and high-end audio interfaces, might not work when using the Rift. To work around this issue, install the device on another USB host controller or a separate computer.
  • For dual-boot systems using DK2 or CB1 HMDs, the OS selection screen might appear on the HMD instead of the monitor. To work around this, try plugging the HMD into a different port or unplug the HMD while booting.
  • If you are running your application from the Unity Editor and you press the controller's home button to return to Oculus Home, you will be prompted to close the application. If you select OK, Unity might remain in a state where it is running, but will never get focus. To work around this, restart Unity.

New in Oculus SDK 1.9.0 (Nov 1, 2016)

  • New Features:
  • Improved activity detection for Touch.
  • Improved Asynchronous SpaceWarp. For more information, see Asynchronous SpaceWarp.
  • Improved the Oculus Guardian system.
  • API Changes:
  • There are no breaking changes to version 1.9.0.
  • Known Issues:
  • If you encounter intermittent tracking issues, remove the batteries from any Engineering Sample Oculus Remotes that you paired with your headset and contact Developer Relations for replacement remotes.
  • When Touch controllers wake up from idle, they might move erratically for a couple of seconds before tracking is reestablished.
  • If you bypass the shim and communicate with the DLL directly, without specifying a version to ovr_Initialize, the DLL has no way of knowing the SDK version with which the application was built. This can result in unpredictable or erratic behavior which might cause the application to crash.
  • There are some USB chipsets that do not meet the USB 3.0 specification and are incompatible with the Oculus Rift sensor. If you receive a notification in Oculus Home or the Oculus App, plug the sensor into a different USB 3.0 port (blue). If none of the USB 3.0 ports work, plug the sensor into a USB 2.0 port (black).
  • Antivirus software, such a McAfee, can cause installation issues. To work around the issue, make sure you have the latest updates and disable real-time scanning.
  • If you encounter installation issues, delete the Oculus folder and install the software again.
  • If the Rift displays a message that instructs you to take off the headset, remove it and place it on a flat surface for 10-15 seconds.
  • The keyboard and mouse do not work in Oculus Home. To select an item, gaze at it and select it using the Oculus Remote or Xbox controller.
  • Bandwidth-intensive USB devices, such as web cams and high-end audio interfaces, might not work when using the Rift. To work around this issue, install the device on another USB host controller or a separate computer.
  • For dual-boot systems using DK2 or CB1 HMDs, the OS selection screen might appear on the HMD instead of the monitor. To work around this, try plugging the HMD into a different port or unplug the HMD while booting.
  • If you are running your application from the Unity Editor and you press the controller's home button to return to Oculus Home, you will be prompted to close the application. If you select OK, Unity might remain in a state where it is running, but will never get focus. To work around this, restart Unity.

New in Oculus SDK 1.7.0 (Sep 14, 2016)

  • New Features:
  • The values for IndexTrigger, HandTrigger, and Thumbstick include deadzones. Added IndexTriggerNoDeadzone, HandTriggerNoDeadzone, and ThumbstickNoDeadzone, which return values for the trigger, hand trigger, and thumbstick without deadzones.
  • Known Issues:
  • When Touch controllers wake up from idle, they might move erratically for up to 10 seconds before tracking is reestablished.
  • If you bypass the shim and communicate with the DLL directly, without specifying a version to ovr_Initialize, the DLL has no way of knowing the SDK version with which the application was built. This can result in unpredictable or erratic behavior which might cause the application to crash.
  • There are some USB chipsets that do not meet the USB 3.0 specification and are incompatible with the Oculus Rift sensor. If you receive a notification in Oculus Home or the Oculus App, plug the sensor into a different USB 3.0 port (blue). If none of the USB 3.0 ports work, plug the sensor into a USB 2.0 port (black).
  • Antivirus software, such a McAfee, can cause installation issues. To work around the issue, make sure you have the latest updates and disable real-time scanning.
  • If you encounter installation issues, delete the Oculus folder and install the software again.
  • If the Rift displays a message that instructs you to take off the headset, remove it and place it on a flat surface for 10-15 seconds.
  • The keyboard and mouse do not work in Oculus Home. To select an item, gaze at it and select it using the Oculus Remote or Xbox controller.
  • Bandwidth-intensive USB devices, such as web cams and high-end audio interfaces, might not work when using the Rift. To work around this issue, install the device on another USB host controller or a separate computer.
  • For dual-boot systems using DK2 or CB1 HMDs, the OS selection screen might appear on the HMD instead of the monitor. To work around this, try plugging the HMD into a different port or unplug the HMD while booting.
  • If you are running your application from the Unity Editor and you press the controller's home button to return to Oculus Home, you will be prompted to close the application. If you select OK, Unity might remain in a state where it is running, but will never get focus. To work around this, restart Unity.

New in Oculus SDK 1.4.0 (May 23, 2016)

  • New Features:
  • The SDK now supports protected content, which is designed to prevent any mirroring of the compositor. For more information, see Protecting Content.
  • The Touch controller pairing process has improved. For more information, see Pairing the Oculus Touch Controllers.

New in Oculus SDK 1.3.2 (Apr 23, 2016)

  • New Features:
  • Added support for installing Oculus and VR applications to different drives.
  • Support for multiple payment options.
  • Known Issues:
  • There are some USB chipsets that do not meet the USB 3.0 specification and are incompatible with the Oculus Rift sensor. If you receive a notification in Oculus Home or the Oculus App, plug the sensor into a different USB 3.0 port (blue). If none of the USB 3.0 ports work, plug the sensor into a USB 2.0 port (black).
  • Antivirus software, such a McAfee, can cause installation issues. To work around the issue, make sure you have the latest updates and disable real-time scanning.
  • If you encounter installation issues, delete the Oculus folder and install the software again.
  • If the Rift displays a message that instructs you to take off the headset, remove it and place it on a flat surface for 10-15 seconds.
  • The keyboard and mouse do not work in Oculus Home. To select an item, gaze at it and select it using the Oculus Remote or Xbox controller.
  • Bandwidth-intensive USB devices, such as web cams and high-end audio interfaces, might not work when using the Rift. To work around this issue, install the device on another USB host controller or a separate computer.
  • For dual-boot systems using DK2 or CB1 HMDs, the OS selection screen might appear on the HMD instead of the monitor. To work around this, try plugging the HMD into a different port or unplug the HMD while booting.
  • If you are running your application from the Unity Editor and you press the controller's home button to return to Oculus Home, you will be prompted to close the application. If you select OK, Unity might remain in a state where it is running, but will never get focus. To work around this, restart Unity.

New in Oculus SDK 1.3.0 Beta (Mar 29, 2016)

  • New Features:
  • The following are new features for the Oculus SDK and runtime:
  • Added Asynchronous TimeWarp (ATW). For more information, see Asynchronous TimeWarp.
  • Added features for VR focus management, which helps you smoothly transition users between your game or experience and Oculus Home. For more information, see VR Focus Management.
  • Updated queue ahead to be adaptive. Queue ahead previously processed frames 2.8 milliseconds in advance to improve CPU and GPU parallelism. Adaptive queue ahead works similarly, but automatically adjusts the start time from 0 to -1 frame (depending on the current performance).
  • Added the performance indicator, which displays when the application is slow or not maintaining frame rate. For more information, see Performance Indicator
  • Added the Oculus Compositor performance HUD (ovrPerfHud_CompRenderTiming) and renamed the application performance HUD (ovrPerfHud_RenderTiming) to ovrPerfHud_CompRenderTiming.
  • Support for DirectX 12 (DX12). For more information, refer to the Oculus Room Tiny (DX12) sample.
  • Runtime Changes:
  • Changes include:
  • Added Oculus Setup, which installs and configures the Oculus Rift, installs the Oculus App, and installs Oculus Home.
  • Added the Oculus App, which replaces the Oculus Configuration Utility. To open the Oculus App, double-click the Oculus desktop icon.
  • Added Oculus Home, the VR-based application for launching games and experiences. If the Oculus App is open, Oculus Home automatically runs whenever you put on the headset.
  • Added the universal menu to perform many common tasks, such as recentering and lens adjustment. To open the universal menu, press the Oculus button on the Oculus remote or the Xbox button on the Xbox Controller
  • Account, device, and privacy management tasks are now performed through the Oculus App. To make changes, click the menu icon (three dots) in the upper right corner of the Oculus App and select Settings.
  • Previously, when you locked your computer, any VR content continued to display in the headset. Now, when you lock the computer, the headset displays a blank screen.
  • API Changes:
  • Updates to the API include:
  • Added ovrTrackerFlags, which returns whether the sensor is present and is in a valid position.
  • Added ovrSessionStatus flags to for focus management. For more information, see VR Focus Management.
  • Added ovrTrackerPose to get the position of a specific sensor.
  • Added bit masks that provide button touch states (ovrTouch_RButtonMask and ovrTouch_LButtonMask), button press states (ovrButton_RMask and ovrButton_LMask), and finger poses (ovrTouch_RPoseMask and ovrTouch_LPoseMask) for the Oculus Touch controllers.
  • Added ovrTrackingState::CalibratedOrigin, which is the initial origin configured by the user when he or she set up the headset. Every time a user recenters a headset, the updated location is relative to this value.
  • Added the ovr_ClearShouldRecenterFlag function for applications that want to manually calculate a recentered tracking pose instead of using the provided SDK function ovr_RecenterTrackingOrigin.
  • Added the utility function ovrPosef_FlipHandedness to help applications easily flip any ovrPosef from a left to right-handed coordinate system.
  • Changes to the API include:
  • The previous API returned a mutable struct which had to be modified in a specific way and passed back to the API. The Oculus SDK now returns an Opaque handle that represents the TextureSwapChain.
  • Removed the deprecated ovrHmdStruct synonym for ovrHmd.
  • Removed the ovrStatusBits::ovrStatus_CameraPoseTracked and ovrStatusBits::ovrStatus_PositionConnected flags.
  • Moved CameraFrustumHFovInRadians, CameraFrustumVFovInRadians, CameraFrustumNearZInMeters, and CameraFrustumFarZInMeters from ovrHmdDesc to ovrTrackerDesc. Renamed them FrustumHFovInRadians, FrustumVFovInRadians, FrustumNearZInMeters, and FrustumFarZInMeters.
  • Removed CameraPose and LeveledCameraPose from ovrTrackingState and added them to ovrTrackerPose (as Pose and LeveledPose).
  • Renamed HmdToEyeViewOffset to HmdToEyeOffset.
  • Renamed ovrSwapTextureSet to ovrTextureSwapChain.
  • Removed the deprecated functions ovr_ResetBackOfHeadTracking and ovr_ResetMulticameraTracking.
  • Removed ovr_SetEnabledCaps.
  • Removed ovr_ConfigureTracking.
  • Removed the ovr_GetEnabledCaps function.
  • Removed the ovr_GetTrackingCaps function.
  • Removed the ovrLayerDirect layer type.
  • Renamed the ovr_RecenterPose function to ovr_RecenterTrackingOrigin.
  • Changed ovrMaxLayerCount from 32 to 16.
  • Moved the bindFlags parameter in function ovr_CreateTextureSwapChainDX to be part of the ovrTextureSwapChainDesc structure.
  • Added the output parameter outSensorSampleTime to the utility function ovr_GetEyePoses.
  • Modified ovrMatrix4f_Projection to be right-handed by default and changed ovrProjection_RightHanded to ovrProjection_LeftHanded.
  • Modified the default handedness of ovrMatrix4f_Projection to be right-handed by default and changed ovrProjection_RightHanded to be ovrProjection_LeftHanded.
  • Added the ovrPosef_FlipHandedness utility function.
  • Renamed ovrControllerType_SID to ovrControllerType_Remote.
  • Renamed ovrMirrorTextureDesc::Flags to ovrMirrorTextureDesc::MiscFlags and ovrTextureSwapChainDesc::Flags to ovrTextureSwapChainDesc::MiscFlags.
  • Removed the OVR_Kernel.h header file.

New in Oculus SDK 0.8.0.0 Beta (Mar 10, 2016)

  • New Features:
  • Improved support for Windows 10.
  • Added ovr_GetSessionStatus, which returns whether the headset is present and whether it has VR focus and can render to the headset.
  • Added ovr_Detect to OVR_CAPI_Util.h , which enables you to detect the presence of a headset without initializing LibOVR. This can be useful when a game has VR and non-VR modes.
  • Added HandStatusFlags to ovrTrackingState, which specifies whether the the Oculus Touch controllers are being tracked. Status includes orientation and position.
  • Added SensorSampleTime to ovrLayerEyeFov, which specifies when the render pose was calculated. This is useful for measuring application tracking latency.
  • Added ovr_GetTrackingCaps to get the tracking capabilities of the device.
  • Usage of ovr_ConfigureTracking is no longer needed unless you want to disable tracking features. By default, ovr_Create enables the full tracking capabilities supported by any given device.
  • Added ovrLayerHudMode, which enables the headset user to see information about a layer.
  • Added ovrControllerType_None and ovrControllerType_XBox to ovrControllerType.
  • The Oculus Debug Tool was added to simplify troubleshooting. For more information see Oculus Debug Tool.
  • Runtime Changes:
  • If you have an NVIDIA GPU, make sure to upgrade to the 358.70 driver or later. To get the driver, go to https://developer.nvidia.com/gameworks-vr-driver-support .
  • If you have an AMD GPU, we recommend the Catalyst 15.10 Beta or later. To get the driver, go to http://support.amd.com/en-us/kb-articles/Pages/latest-catalyst-windows-beta.aspx .
  • API Changes:
  • Applications no longer need to call ovr_ConfigureTracking. ovr_Create automatically enables the full tracking capabilities supported by any given device.
  • Replaced ovr_GetFrameTiming with ovr_GetPredictedDisplayTime.
  • Added latencyMarker to ovrTrackingState. When set to ovrTrue, this indicates that it will be used in the rendering loop and will be used to calculate latency.
  • To emphasize the session model, renamed ovrHmd to ovrSession and hmd to session.
  • ovrLayerType_QuadInWorld and ovrLayerType_QuadHeadLocked were renamed to ovrLayerType_Quad and are now differentiated by the ovrLayerFlag_HeadLocked flag.
  • Added ovrMaxLayerCount, which sets the maximum number of layers to 32.
  • Removed ovrInit_ServerOptional. If you use this to detect whether the OVRService is available, periodically call ovr_Initialize or poll ovr_Detect instead.
  • Removed ovrTrackingCap_Idle from ovrTrackingCaps.