Skip to content

Releases: googlevr/cardboard

v1.6.0

08 Jun 21:03
Compare
Choose a tag to compare

Cardboard SDK v1.6.0 (2021-06-08)

Breaking & behavioral changes

  • Changed Unity minimum version to 2019.4.25f1 from 2019.3.15f1.

New APIs and capabilities

  • Fixed #198 via #224: Added new API CardboardQrCode_saveDeviceParams (C), Google.XR.Cardboard.Api.SaveDeviceParams (Unity) to set Cardboard params directly from a URI without scanning a QR code.
  • Fixed #63 via #242: Added new API CardboardHeadTracker_recenter (C), Google.XR.Cardboard.Api.Recenter (Unity) to recenter the head.
  • Fixed #131 via #92: The SDK now uses AndroidX instead of the Android Support Library. Applications that are not ready to use AndroidX yet should stick to Cardboard v1.5.0.

Deprecations

None.

Other changes

  • Added single line namespace declaration when using nested namespaces.

Bug fixes

  • Fixed #259: Fixed stereoscopic issue when using Metal on Unity.
  • Fixed #251: Fixed a warning on Unity 2021.1 with Unity XR Management 4.0.1 when importing the Cardboard XR Plugin.

Known issues

None.

v1.5.0

30 Apr 00:32
Compare
Choose a tag to compare

Cardboard SDK v1.5.0 (2021-04-29)

Breaking & behavioral changes

None.

New APIs and capabilities

  • Updated third_party/unity_plugin_api to the version from Unity 2020.2.5f1.
  • Fixed #11: Metal is supported on iOS. On Unity, this only works on 2020.1 and above, see known issue below.
  • Fixed #90: GitHub actions-driven CI added.

Deprecations

None.

Other changes

  • Added "cardboard_oss_" prefix to icon names to avoid name collisions in Android applications.
  • Removed requirement of calling Cardboard_initializeAndroid() before CardboardQrCode_getCardboardV1DeviceParams() on Android.
  • Silenced OpenGL deprecation warnings in Xcode.
  • Removed unneeded Quaternion to Rotation conversion in HeadTracker::GetPose().
  • Added cache of JNI global references for all jclass instances on Android to avoid unintended reference invalidation. See JNI Tips - Local and global references for further information.
  • Removed unused functionality from the SensorFusionEkf class. It will always use the gyroscope bias prediction.
  • Replaced PoseState by RotationState and the use of pose by rotation to improve accuracy and simplify the code.
  • Removed unused function HeadTracker::GetDefaultOrientation().
  • Removed unused function cardboard::pose_prediction::PredictPoseInv().
  • Upgraded Protobuf Gradle plugin version to 0.8.15 and Protobuf dependency to 3.8.0. This is expected to fix #237.
  • Added iOS framework dependencies in cardboard_api.a.meta to avoid linking errors when building a Unity app.

Bug fixes

  • Fixed #164 and #193: Bad head tracking due to using incorrect clock base.
  • Fixed #166: Build errors in Xcode project.
  • Fixed #182: Rendering broken after scanning improper QR codes. Now in these cases we will return Cardboard Viewer v1 device parameters.
  • Fixed #207 via #211: No stereo rendering in Unity.
  • Fixed #246: This release was not yet out.
  • Fixed #249: Build errors on Unity 2020.2 or later with iOS.

Known issues

  • #245: When using Unity on Android devices, Optimized Frame Pacing option is not supported. Note that in Unity 2020.1 and above Optimized Frame Pacing is enabled by default so developers must turn off the option.
  • #251: When using XR Management package 3.2.14 or greater, a warning is logged when importing Cardboard XR Plugin. This warning refers to a bad project configuration in the Cardboard XR Plugin. It can be safely ignored and will be fixed in a future release. This was observed in Unity 2021.1 which defaults to XR Management 4.0.1.
  • #252: When scanning a QR code in Unity, an incorrect camera orientation will be seen. This issue takes place only on Pixel 3 XL, when the app is launched in portrait mode, and there are no saved device parameters causing the QR code scanner to be launched at startup.
  • #253: When in VR mode in Unity, the eyes may be rendered in the wrong location when the app is launched for the first time. Minimizing the app and maximizing it again fixes the issue.
  • Unity bug #1329845: Metal support does not work on Unity 2019.3 or 2019.4.
  • Workaround for Unity bug #1329846: Added IOSurface iOS framework dependency directly to the library meta file.
  • Workaround for Unity bug #1329853: When using Metal, a fullscreen black texture is rendered on each draw call.
  • Unity issue #1291276: When importing the Cardboard XR Plugin sample project in Unity 2020.3 or later, a warning is logged related to the AssetDatabase path and the scene. This warning can be safely ignored.

v1.4.1

12 Dec 05:23
Compare
Choose a tag to compare

Cardboard SDK v1.4.1 (2020-12-11)

This is a bugfix only release to address OpenGL ES 3.0 errors some Exynos devices.

Bug fixes

  • Fixed #171 by updating #version lines for OpenGL ES 3.0.
  • Made lint warnings not fail the build due to errors that happen on newest Gradle version.

v1.4.0

04 Dec 18:35
Compare
Choose a tag to compare

Cardboard SDK v1.4.0 (2020-12-04)

Breaking & behavioral changes

  • Changed Android minimum SDK version to 18 from 16 in Android SDK, sample app, and Unity SDK. If you want to maintain minimum SDK version 16 for your app, you must remove OpenGL ES 3.0 support by making the following changes. All the locations can be found by searching for "#gles3":

New APIs and capabilities

  • Closed #40: Added OpenGL ES 3.0 support.
  • Closed #144: Added support for 2020 iPhones (iPhone 12, iPhone 12 Mini, iPhone 12 Pro, and iPhone 12 Pro Max).
  • Added new UpdateScreenParams method to the Unity API. This method should be called every frame while VR is enabled as a workaround for Unity bug #1288515. Once the bug is fixed by Unity, this method will be removed.
  • Added support for ProGuard on Android.
  • Closed #53: Added sample showing how to enable and disable Cardboard in Unity at runtime.
  • Added support for iPod touch 7th generation.

Deprecations

None.

Other changes

  • Added more detailed logging of QR code scanning state changes on Android.
  • Improves logging of the Java code for QR code scanning.
  • Replaced CameraSource.Builder class by a public constructor in CameraSource to simplify code maintenance.

Bug fixes

  • Fixed #80, merged #93: Upgraded Gradle to 6.6.1 and Android Gradle Plugin to 3.6.1.
  • Fixed #100: Widgets are rendered in the proper location.
  • Fixed incorrect log stating that device parameters were saved to external storage when it was the opposite.

v1.3.0

20 Oct 21:35
Compare
Choose a tag to compare

Cardboard SDK v1.3.0 (2020-10-20)

Breaking & behavioral changes

None.

New APIs and capabilities

  • Added new CardboardDistortionRenderer constructors for to support multiple rendering APIs in a future release. Only OpenGL ES 2 is currently implemented.
  • Added validation for pointers passed in to each API function before dereferencing them. Invalid parameters get logged to the debug console.
  • Added validation that Cardboard_initializeAndroid() has been called before any other API function is. Invalid calls get logged to the debug console.
  • Updated iOS sample app to work with iOS 14.
  • Changed Android minimum SDK version to 16 from 19 in Android SDK.
  • Changed Android target API version to 30 from 28 in Android SDK and sample app.

Deprecations

  • CardboardDistortionRenderer_create has been removed. Call CardboardOpenGlEs2DistortionRenderer_create instead.

Other changes

  • Merged #91: Added Android Studio styling.
  • Fixed #29: Repository contains a gitignore file.
  • Added support for apps that use Cronet for network operations. See CronetEngine.createURLStreamHandlerFactory for specifics.
  • Changed use of Context in Android specific code to work with any Context that has a WindowManager where previously it only worked with Context objects of type Activity. This helps when dependency injection frameworks like Dagger.
  • Improved Android API compatibility to get screen pixel density.
  • Added a toast explaining when barcode detection libraries are not available and a WiFi update of Google Play Services is required.

Bug fixes

  • Fixed #29: A .gitignore file has been added to the SDK repository.
  • Fixed #33: Unity XR plugin no longer requires both iOS and Android Unity modules to be installed.
  • Fixed #34: On Android, Unity projects entering XR mode won't crash anymore if Cardboard XR Plugin is not enabled in Player Settings > XR Plug-in Management.
  • Fixed #50: Unity XR plugin displays gear and close textures after loading a new scene.
  • Fixed #55, merged #2: Unity XR plugin no longer throws an error when building for platforms other than Android or iOS.
  • Fixed #59 and #98: Unity XR plugin can be turned on and off at runtime.
  • Fixed #89: QR code scanner accepts both TEXT and URL barcode types.

v1.2.0

01 Sep 00:22
Compare
Choose a tag to compare

Cardboard SDK v1.2.0 (2020-08-31)

Breaking & behavioral changes

  • Moved from multiple shared native libraries in favor of only one shared library in Android.
  • Replaced dynamic dependency on shared C++ STL library by static C++ STL to reduce aar size.

New APIs and capabilities

  • Closed #32: CardboardXrProvider is now open source and buildable for Android and iOS.

Deprecations

None.

Other changes

  • Update C# style for non-public variables. For example, private float m_Foo is now private float _foo.

Bug fixes

  • Fixed #35: "Show Splash Screen" must be unchecked. This is no longer needed on Unity 2019.3.15f1 or later. However, see known issue related to Screen.safeArea() below.

Known issues

  • #100: On iOS the widgets are rendered in the wrong location on devices with a notch. This only affects when the app is built with Unity 2019.3.14f1 and later.
    • This is due to Screen.safeArea() not taking the notch into account on iPhone XS, iPhone XR, and iPhone 11.

v1.1.0

18 May 20:19
Compare
Choose a tag to compare

Cardboard SDK v1.1.0 (2020-05-18)

Breaking & behavioral changes

  • Changed from degrees to radians the field of view units that Matrix4x4::Perspective() expects.
    This change is internal to the SDK only and does not affect the API.
  • Removed OpenGL ES 2 header "GLES2/gl2.h" from being included in cardboard.h.
  • Changed Protocol Buffers dependency from C++ v3.10.1 to Java v3.0.0 in Android SDK. This change is internal to the SDK only and does not affect the API.
  • Changed Android minimum SDK version to 19 from 21 in Android SDK and sample app.
  • Renamed Android SDK Java package to "com.google.cardboard.sdk". This change is internal to the SDK only and does not affect the API.
  • Changes LensDistortion API to get eye-from-head matrices independently from the perpective matrices. Perspective matrices can now be constructed with custom near and far clip planes. Previously fixed near and far clip planes z-axis coordinates were 0.1 and 100.0 respectively.
  • Changed C++ STL from std=gnu++11 to std=c++11 in Android SDK and sample.
  • On Android, CardboardQrCode_scanQrCodeAndSaveDeviceParams now requests HTTPS even when HTTP is specified in a Cardboard QR code, removing the need for android:usesCleartextTraffic to be true.
  • Changed CardboardDistortionRenderer_renderEyeToDisplay() function to accept a viewport rectangle information to draw into the display.

New APIs and capabilities

  • New CardboardLensDistortion_getFieldOfView() function to get device field of view half angles per eye.
  • New Unity C# API using Unity's XR Plugin framework.
  • New CardboardQrCode_getQrCodeScanCount() function to get the number of times device parameters are read and saved.
  • New CardboardQrCode_getCardboardV1DeviceParams() to get Cardboard V1 device parameters proto buffer.

Other changes

  • Enabled the following functions to be called from non-Java native threads on Android:
    • CardboardLensDistortion_create()
    • CardboardQrCode_getSavedDeviceParams()
    • CardboardQrCode_scanQrCodeAndSaveDeviceParams()
  • Removed unused parameters from "CardboardEyeTextureDescription" structure ("layer" and "eye_from_head").
  • Changed OpenGL ES version to 2.0. OpenGL ES 3.x is backward compatible with 2.0, see https://developer.android.com/guide/topics/graphics/opengl.
  • Removed unused dependency from LensDistortion (logging).
  • Removed unused attribute from LensDistortion (kMetersPerInch).

Bug fixes

  • Fixed typo in Distortion Renderer API function ("CardboardDestortionRenderer_renderEyeToDisplay()" renamed to "CardboardDistortionRenderer_renderEyeToDisplay()").
  • Removed unused EGL dependency from sdk and sample app.
  • Fixed memory leak when calling CardboardLensDistortion_destroy.

Known issues

  • Unity XR plugin libraries libCardboardXrProvider.so for Android and CardboardXrProvider.a for iOS are still unable to be open sourced. We hope to do it in a future update.
  • Unity XR plugin will have build errors unless iOS and Android support are both installed in Unity.
  • On Android, Unity projects entering XR mode will crash if Cardboard XR Plugin is not enabled in Player Settings > XR Plug-in Management.
  • Head tracking latency is significantly higher on Qualcomm based Samsung S10 and Samsung S10+ devices.
  • QR code scanning on Android may fail without error message while Google Play services is being updated or internet connection is unreliable.
  • On some versions of Unity 2019.3, XR mode will not be entered unless Project Settings > Player > Splash Image > Show Splash Screen is unchecked. Note: this option is available in Unity Plus and Unity Pro.

v1.0.0

06 Nov 19:17
Compare
Choose a tag to compare

Initial release of Cardboard SDK.

Known issues

  • Head tracking latency is significantly higher on Qualcomm based Samsung S10 and Samsung S10+ devices.
  • QR code scanning on Android may fail without error message while Google Play services is being updated or internet connection is unreliable.
  • Android minimum SDK version must currently be 21 or higher. We hope to support 19 or higher in a future update.