Previous Release Notes. Oculus Mobile VR
Mobile VR is a software development toolkit that allows developers to create immersive virtual reality applications for Samsung Gear VR. It includes the necessary libraries, tools, and documentation to build high-performance, high-quality VR experiences.
Advertisement
Advertisement
88 | Previous Release Notes | Mobile
Previous Release Notes
This section describes changes for each version release.
0.5 Release Notes
This document provides an overview of new features, improvements, and fixes included in the version 0.5 of the Oculus Mobile SDK.
0.5.1
Overview of Major Changes
This document provides an overview of new features, improvements and fixes that are included in this distribution of the Oculus Mobile SDK.
The most significant change in 0.5.1 is to System Activities event handling in Unity. The 0.5.0 code for handling
System Activities events in Unity was doing heap allocations each frame. Though this was not a leak, it would cause garbage collection to trigger much more frequently. Even in simple applications, garbage collection routinely takes 1 to 2 milliseconds. In applications that were already close to dropping below 60 Hz, the increased garbage collection frequency could cause notable performance drops. The event handling now uses a single buffer allocated at start up.
Other notable changes were to HMT sensor prediction — specifically clamping of the delta time used for prediction. Without this change delta times on application startup could sometimes be huge, causing an apparent jump in screen orientation.
Unity Developers: As with Mobile SDK v 0.5.0, Unity developers using this SDK version must install the Oculus
Runtime for Windows or OS X. This requirement will be addressed in a future release of the SDK.
Note: Before installing or integrating this distribution, we strongly recommend that you backup your project before attempting any merge operations.
API Changes
• Sensor Prediction: Make sure Predicted deltaTime can never be negative or become huge.
• Sensor Prediction: Clamp delta time used for sensor prediction to 1/10th of a second instead of 1/60th so that we don’t under-predict if the target frame rate is not being met.
• Better handling for a case where
SystemActivities resumes without an explicit command. This can happen if the top app crashes or does a finish() instead of launching Home to exit.
Bug Fixes
• Unity Integration
• Rework System Activities Event handling to prevent any per-frame allocations that could trigger Garbage
Collector.
• Native Framework
• Fixed potential MessageQueue deadlock
• Bitmapfont - Fix case where billboarded text is right on top of the view position and results in a zerolength normal vector.
Mobile | Previous Release Notes | 89
• Bitmapfont - Fix for font info height not being y-scaled.
• Renamed
VERTICAL_BOTTOM to VERTICAL_BASELINE because it aligns to the first row’s baseline rather than the bottom of the entire text bounds.
• Bitmapfont - Fix for
VERTICAL_CENTER_FIXEDHEIGHT to correctly account for the ascent / descent when rendering single and multi-line text.
• VrMenu Fader - Update only performed if frame time is > 0.0f.
• VrMenu - Add ProgressBar component.
• VrMenu - Parent / child rotation order in menus was backwards, causing confusion when local rotations were used.
• VrMenu - Don’t use an old view matrix to reposition menus on a reorient. Since we reorient to identity
(with respect to yaw) we should reposition with respect to identity instead of the last frame’s view matrix.
•
AppLocal::RecenterYaw() now adjusts lastViewMatrix so that it instantly reflects the recenter of the sensor fusion state.
• FolderBrowser - Allow implementers to create their own panel object.
Known Issues
• Application version number remains 0.5.0 and was not incremented to 0.5.1. This does not affect app functionality and will be addressed in a future release.
• For use with the Mobile SDK, we recommend Unity versions 4.6.3. The Mobile SDK is compatible with Unity
5.0.1p2, which addresses a problem with OpenGL ES 3.0, but there is still a known Android ION memory leak. Please check back for updates.
0.5.0
Overview of Major Changes
The Universal Menu has been removed from VrLib, allowing modifications to the Universal Menu without requiring each app to upgrade to the latest SDK. The Universal Menu is now part of the Oculus System
Activities application and is downloaded and updated alongside Oculus Home and Horizon. Make sure you update your version of Home in order to test your application with the new Universal Menu. If you are migrating from a previous SDK, please refer to the “Migrating from Earlier Versions” sections of the Native Development and Unity Integration guides.
The Mobile Unity Integration is now synced with the Oculus PC SDK 0.5.0.1 Beta. Please ensure you have installed the corresponding 0.5.0.1 Oculus runtime; it can be found at the following location:
https:// developer.oculus.com/downloads/
VrPlatform entitlement checking is now disabled by default in Unity; handling for native development is unchanged. If your application requires this feature, please refer to the Mobile SDK Documentation for information on how to enable entitlement checking.
Applications built with Mobile SDK 0.5.0 or later will be compatible with the Samsung GALAXY S6.
Note: Before installing or integrating this distribution, we strongly recommend that you back up your project before attempting any merge operations.
New Features
• Android Manifest
• Mobile SDK 0.5.0 no longer requires PlatformActivity in the AndroidManifest.xml file. If you have previously worked with an earlier SDK, the following block must be removed:
<activity android:name='com.oculusvr.vrlib.PlatformActivity'
90 | Previous Release Notes | Mobile
android:theme='@android:style/Theme.Black.NoTitleBar.Fullscreen' android:launchMode='singleTask' android:screenOrientation='landscape' android:configChanges='screenSize|orientation|keyboardHidden|keyboard'>
• The camera permission is also no longer required and can be removed from your manifest if your app does not rely on it:
<uses-permission android:name='android.permission.CAMERA'/'>
• For additional information on manifest requirements, see the relevant documentation in the Native
Development Guide, Unity Integration Guide, and Mobile App Submission Guide.
• Native Framework
• Folder Browser
• Added support for dynamically loaded categories.
• Factored out MetaData from FolderBrowser into MetaDataManager.h/cpp.
• Improved wrap-around controls.
• Sound Limiter
• Application sound_asset.json files may now override specific menu sounds.
• VrMenu
• Added hit test result to VRMenuEvent.
• Added debugMenuHierarchy console command for debug drawing of VrMenu hierarchy.
• Now uses current view matrix for gaze cursor and menu positions.
• Added options for horizontal and vertical text justification.
• Multi-Line text justification.
• Added option to allow text to line up horizontally with different descenders.
• Unity Integration
• Synced with the Oculus PC SDK 0.5.0.1 Beta.
• VrPlatform entitlement checking is now disabled by default.
• Cinema SDK
• UI reworked using new UI components.
• 360 Photos SDK
• Added libjpeg.a directly to projects in order to avoid dependency on libjpeg source.
• Metadata is now app-extensible. Added functionality for reading and writing extended metadata during app loading and saving.
• 360 Videos SDK
• Added libjpeg.a directly to projects in order to avoid dependency on libjpeg source.
• Metadata is now app-extensible. Added functionality for reading and writing extended metadata during app loading and saving.
API Changes
• VrLib
• Universal Menu moved from VrLib into a separate application.
• Universal Menu specific functionality removed from VrLib.
• Adds Oculus Remote Monitor support.
• VrApi restructured for future modularity and ease of development.
Mobile | Previous Release Notes | 91
• Local preferences are now allowed in Developer Mode. Please refer to the Mobile SDK Documentation for more information.
• Default eye height and interpupillary distance have been changed to conform to the default values used by the PC SDK.
• The native head-and-neck model has been re-parameterized to use a depth/height pair rather than angle/length to conform to the PC SDK.
• HMDState sensor acquisition code has been re-written to make it reliable and thread safe.
• Now restores last-known good HMD sensor yaw when recreating the HMD sensor.
Bug Fixes
• Unity Integration
• Health and Safety Warning no longer displays in editor Play Mode if a DK2 is not attached.
• Cinema SDK
• Fixed playback controls reorienting screen in void theater when user clicks on controls when they are off the screen on portrait videos.
• OvrGuiSys
• RemoveMenu is now DestroyMenu and will now free the menu.
Known Issues
• Unity Integration
• For use with the Mobile SDK, we recommend Unity versions 4.6.3, which includes Android 5.0 -
Lollipop support as well as important Android bug fixes. While the Mobile SDK is compatible with Unity
5.0.0p2 and higher, several issues are still known to exist, including an Android ION memory leak and compatibility issues with OpenGL ES 3.0. Please check back for updates.
0.4 Release Notes
This document provides an overview of new features, improvements, and fixes included in version 0.4 of the
Oculus Mobile SDK.
0.4.3.1
Overview of Major Changes
This release adds support for Unity 5.0.0p2. Developers using Unity 5 must update to this version, and make sure that they are using the latest patch release from Unity.
We would like to highlight the inclusion of the new Mobile Unity Integration with full DK2 support based on the Oculus PC SDK 0.4.4. As this is a significant API refactor, please refer to the Unity Development Guide:
Migrating From Earlier Versions section for information on how to upgrade projects built with previous versions of the Mobile Unity Integration.
Note: Before installing or integrating this distribution, we strongly recommend that you backup your project before attempting any merge operations.
92 | Previous Release Notes | Mobile
0.4.3
New Features
• Android Manifest
• Applications will now be required to specify the following permission to support distortion configuration updates by the system service.
<uses-permission android:name='android.permission.READ_EXTERNAL_STORAGE' />
•
Note: Always refer to the Oculus Mobile Submission Guidelines for the latest information regarding the submission process.
• VrPlatform
• Support for entitlement checking with VrPlatform. Integration steps and instructions are included in the
Oculus Mobile Developer Guide’s Device and Environment Setup section.
• Unity Integration
• New Mobile Unity Integration Based on Oculus PC SDK 0.4.4
• Miscellaneous
• The Mobile SDK Documentation folder hierarchy has been re-organized into a single document.
API Changes
• VrLib
• Localized string updates for the Universal Menu.
• Improvements to yaw drift correction.
• Fixed vsync possibly being turned off by the Universal Menu when selecting reorient.
• Pre-register nativeSetAppInterface to work around a JNI bug where JNI functions are not always linked.
• Do not allow nativeSurfaceChanged to use a deleted AppLocal in case surfaceDestroyed is executed after onDestroy.
• Removed resetting the time warp when sensor device information is not populated on application launch.
• Improved Passthrough Camera latency by disabling Optical Image Stabilization (Exynos chipset only).
• Free EGL sync objects on time warp thread shutdown.
Bug Fixes
• 360 Videos SDK
• Fixed bug where a few 360 videos would not play.
• Fixed several UI bugs.
• Added extra error handling.
• 360 Photos SDK
• Fixed several UI bugs.
Mobile | Previous Release Notes | 93
0.4.2
Overview of Major Changes
If you are developing with Unity, we recommend updating to Unity 4.6.1, which contains Android 5.0 – Lollipop support.
We would like to highlight the inclusion of the new Mobile Unity Integration with full DK2 support based on the Oculus PC SDK 0.4.4. As this is a significant API refactor, please refer to the Unity Development Guide:
Migrating From Earlier Versions section for information on how to upgrade projects built with previous versions of the Mobile Unity Integration.
Note: Before installing or integrating this distribution, we strongly recommend that you backup your project before attempting any merge operations.
API Changes
• VrLib
• Universal Menu localization support: English, French, Italian, German, Spanish, Korean.
• Move Direct Render out of VrApi and into TimeWarp.
• Print battery temperature to logcat.
• Fix rendering of TimeWarp Debug Graph.
• Unity Integration
• Fix for camera height discrepancies between the Editor and Gear VR device.
• Moonlight Debug Util class names now prefixed with OVR to prevent namespace pollution.
• Provide callback for configuring VR Mode Parms on OVRCameraController; see OVRModeParms.cs for an example.
• Native Framework
• Fixed bug in which Volume toast is not dismissed if user transitions to Universal Menu while the toast is active.
• Allow for app-specific handling when the user selects Reorient in the Universal Menu.
• SearchPaths: Now correctly queries Android storage paths.
• SearchPaths: Refactored to OvrStoragePaths.
• FolderBrowser: Improved load time by removing check for thumbnails in the application package.
• FolderBrowser: Improved scrolling and swiping physics.
FolderBrowser: Added bound back and wrap around effects.
• Sample Project Changes
• 360 Photos SDK
• Fixed bug in which the user could easily close the menu unintentionally when returning from a photo.
• Fixed crash that occurred when photos stored in the physical “Favorites” folder were untagged as
“Favorites”.
• Fixed crash caused by swiping on the “no media found” screen.
• 360 Videos SDK
• Background star scene now fades to black when starting a video.
• Changed corrupted media message to show only filename so it fits in the view.
• Fixed rendering artifact that occurred when starting to play a video.
94 | Previous Release Notes | Mobile
0.4.1
Overview of Major Changes
Added support for Android 5.0 (Lollipop) and Unity Free.
New Features
• Mobile SDK
• Added support for Android 5.0 (Lollipop).
• Unity
• Added Unity Free support for Gear VR developers.
0.4.0
Overview of Major Changes
First public release of the Oculus Mobile SDK.
New Features
• First public release of the Oculus Mobile SDK.
API Changes
• The Mobile SDK is now using API Level 19. Please make the following change to your manifest file:
<android:minSdkVersion='19' android:targetSdkVersion='19' />
Bug Fixes
• Health and Safety Message no longer required on mount.
• Lens distortion updated for final Gear VR lenses.
• Improved Mag Yaw drift correction.
• Option ability to update distortion file without the need for app rebuild.
• Changed default font to Clear Sans.
• Unity vignette rendering updated to match native (slightly increases effective FOV).
• Unity volume popup distance to match native.
• Fix Gaze Cursor Timer scale.
Download
Advertisement
Key features
Native VR framework (VrLib)
Unity standalone integration
Example native and Unity projects
Pre-built sample applications
Media and asset management tools
Support for Samsung Gear VR devices
Entitlement checking for app distribution
Detailed documentation and tutorials
Performance guidelines and best practices
Frequently asked questions
The Oculus Mobile VR SDK is a software development toolkit that allows developers to create immersive virtual reality applications for Samsung Gear VR devices. It includes the necessary libraries, tools, and documentation to build high-performance, high-quality VR experiences.
The Oculus Mobile VR SDK is currently supported by the Samsung Note 4, and applications built with Mobile SDK 0.5.0 or later will be compatible with the Samsung GALAXY S6.
The SDK includes a native VR framework, Unity integration, example projects, pre-built sample applications, media and asset management tools, entitlement checking, and detailed documentation.