Skip to content
This repository has been archived by the owner on Nov 8, 2019. It is now read-only.

GVR SDK for Unity v0.6.0

Compare
Choose a tag to compare
@rusmaxham rusmaxham released this 26 Apr 19:50
· 49 commits to master since this release

Upgrade Instructions

  • Delete the old Cardboard and Plugin directories before upgrading to the new version of the SDK. Some newer versions of Unity (5.3+) do this for you automatically, but not all.

Deprecation Notice

  • In the next release of the SDK, the Legacy folder will be retired, along with all C# functions marked "Obsolete".
  • In the next release, the minimum officially supported version of Unity will be 5.2.

Fixes

  • The UI layer no longer flashes at app startup.
  • Ensure that a custom Skybox component on the parent camera is reflected on the stereo child cameras.
  • The -ObjC flag on iOS no longer causes a link-time error in Cardboard apps.
  • Fixed a null-pointer exception that caused scenes to render one or both eyes black if the scene started out with VR mode turned off, and turned it on in code later.
  • Apps no longer crash on Quit or LoadLevel calls if the phone has been tilted on its side by the user.

Additions

  • Support for Spatial Audio.
  • Main Menu entry Cardboard which makes it easy to reach documentation and file bugs.
  • Support for gaze-based interaction, either with uGUI EventSystem or independently of it. Implement C# interfaces ICardboardGazePointer and/or ICardboardGazeResponder to interact with the gaze system.
  • A C# event on CardboardHead for callbacks after the head tracking has been updated.

Changes

  • The Cardboard.SDK property no longer auto-instantiates a Cardboard object. Instead it logs an error message if the property is null. Ensure that a Cardboard object exists in the scene before accessing the property. The CardboardManager prefab can be used if the Cardboard instance should be independent of any scene camera, or you can call the Cardboard.Create() static function to ensure that the SDK property is initialized.
  • Reverted a change in v0.5.2 that allocated a padded RenderTexture (intended to account for barrel distortion). The extra size of the texture caused an unreasonable performance hit, especially on 2K phones. Now the texture size matches the screen resolution, as in older releases.
  • Reverted a change in gyro-drift correction on iOS that actually made drift worse on iPhones.
  • CardboardCamera prefab is now CardboardManager, a standalone instance of the Cardboard script.
  • The "gaze pointer" object in GazeInputModule is now a reticle, with customizable behavior and appearance.
  • (iOS only) The automatically launching onboarding dialog has been removed.

Deletions

  • Removed obsolete RadialUndistortionEffect shader and script.
  • On iOS, the Sync with Cardboard option has been removed.
  • The Tilt sensor has been disabled to prevent the tilt-based app crash noted above. The Tilt and OnTilt members of Cardboard may be removed in a future SDK release.

Known Issues

  • Be sure the screen orientation is locked to Landscape Left when the Cardboard SDK is initialized and active. On iOS, do this by leaving the Orientation set to Automatic in Player Settings, with the only allowed orientation being Landscape Left.
  • (Fixed in v0.7) A bug in Unity 5.2 and 5.3's Spatial Audio support causes mobile apps to crash at unexpected times. On Android, this occurs when the app is resumed. On iOS, it may happen at startup.
  • See also the v0.5.2 Known Issues.

Changelog

  • Added support for spatialized audio playback, including scripts, prefabs, and editors.
  • Added a Cardboard entry to the editor's main menu, making it easier to reach documentation.
  • Added new CardoardManager prefab which packages everything except a Main Camera. Useful when adapting your own cameras for stereo.
  • Added a simple reticle interface for gaze-based UI interaction.
  • Updated GazeInputModule to use the reticle interface.
  • Removed the "auto-instantiation" behavior of Cardboard.SDK, which sometimes created an extra Cardboard.
    You must ensure that a Cardboard object exists in the scene before Cardboard.SDK is used.
    The various prefabs like CardboardMain and CardboardManager are intended to help with this.
    Or call Cardboard.Create() from code.
  • Fixed the "UI layer flash" that happens on startup when the UI layer should not appear.
  • Removed the obsolete RadialUndistortionEffect shader and script.
  • Ensure that if the Main Camera uses a Skybox component, then the stereo cameras do too.
  • Added an event to CardboardHead for scripts that want to act after the head tracking is updated.
  • Revert a change from last release that padded the offscreen rendertexture to account for barrel distortion. On higher resolution phones, the performance hit was too great.
  • Revert a change from last release that used the raw gyro on iOS together with the Cardboard gyro filtering. The result was noticeably worse than just using the clean iOS gyro.
  • Removed the automatically triggered onboarding dialog. It can still be triggered from code.
  • Fixed a bug causing apps that start with VR mode turned off to not render correctly when VR mode is later turned on.
  • Disabled the Tilt event callback, which due to threading-related issues was causing apps to crash if the phone had been tilted 90 degrees to the right before exiting or loading a new scene. Apps needing tilt detection should use Input.accel rather than Cardboard.Tilted.
  • Fixed a link-time issue on iOS caused when using the -ObjC linker flag.
  • Set the target SDK to 22 in AndroidManifest.xml to get around permission issues on Marshmallow.
  • DEPRECATION NOTICE: The next SDK release will drop Unity 4 compatibility and remove the Legacy folder.