Assets 3

Behavioral changes

  • Instant Preview now briefly shows a warning message as reminder about it's limited support for touch based input.

Other changes

  • Updated samples to call out current limitations more clearly when running in editor.
  • Play Services Resolver plugin upgraded to version 1.2.95.0.
  • Log messages and ARCore Preferences have been updated for clarity.
  • Added an updated Cloud Anchors example that uses Unity's Multiplayer Services.
  • Binaries in the SDK are now covered by the Google API TOS.

Bug fixes

  • Fixed #240: Replaced SetIndices with SetTriangles in DetectedPlaneVisualizer.
  • Fixed #297: "Cannot create Augmented Image database" if the Unity project path has a space in the name.
  • Catch SocketException in CloudAnchors sample and log details when IP address cannot be determined at runtime.
  • Fixed gradle project compilation error when using Cloud Anchors in an "AR Optional" app.
  • Fixed #450: Instant Preview correctly streams video on Pixel 3 and Pixel 3 XL.
  • Issue #563: Resolved an crash with a log message "AssetManager has been finalized" that could occur on some devices.
  • Issue #630: Fixed a bug where multiple points in a point cloud could use the same ID.
Assets 3

EDIT 2018-01-12: Removed issue #297 (Cannot create Augmented Image database if the Unity project has a space in the name.) from the list of 'Bug fixes' as the issue is not actually fixed in 1.5.0

Breaking changes

None.

New APIs

  • API for accessing a unique ID associated with point cloud points, to discern if the same point is seen across multiple frames. Note: This API is not yet available in Instant Preview. Point cloud IDs will always be 0 when running in play mode in the editor.
  • API for adding images to an Augmented Image database at runtime.

Deprecations

  • Frame.PointCloud.CopyPoints() has been deprecated without replacement. Instead, iterate over the points in the point cloud and manually copy desired points manually.
  • Frame.PointCloud.GetPoint() has been deprecated in favor of Frame.PointCloud.GetPointAsStruct(), which returns a struct that also contains a unique ID for each point.

Behavioral changes

  • In Unity 2018.2.1 and later (using the new PlayerSettings.Android.ARCoreEnabled Unity API), show a warning message when XR Settings > ARCore Support is not enabled and build platform is set to Android.
  • When ARCore needs to be installed or updated, AR Optional apps will no longer display an initial screen informing the user that ARCore is required and instead immediately show the install screen.
  • The First Person Camera (a child of the ARCore Device prefab) has new TrackedPoseDriver settings. Specifically, the 'Update Type' member has changed from a value of 'Before Render' to 'Update'. This maintains synchronization of the First Person Camera transform with other elements in the scene by default.
  • `Session.RequestApkInstallation(bool)' now defaults to skipping the user education dialog for AR Optional apps.

Other changes

  • Added inputString to InstantPreviewInput.cs.
  • Added a compile time error message when using an unsupported versions of Unity.
  • Added SuppressMemoryAllocationError attribute to mark explicitly the methods that can allocate memory.
  • Fix for ReflectionTypeLoadException in Unity 2018.3.
  • Added better error handling when resolving a XP Anchor.
  • Added ARM 64 support.
  • Added Android Emulator support.

Bug fixes

  • Fixed #212: Unity experimental Linux compile errors.
  • Fixed obsolete warnings in 2018.1 and later.
  • Fixed #275: ARCore is causing Unity Cloud Build to fail.
  • Fixed #297: Cannot create Augmented Image database if the Unity project has a space in the name.
  • Fixed #357: Instant Preview initalizes but does not transmit or receive data.
  • Fixed issue where Instant Preview would stop streaming after pausing or backgrounding the Unity game window.
  • Fixed #277: Background renderer doesn't work when using OpenGLES2 graphics API.
  • Fixed issue where image names and Cloud Anchor IDs sometimes contain extra characters at the end when using Instant Preview.
  • ARCore SDK for Android issue #419: Added a workaround that should reduce or eliminate cases of poor or no motion tracking on Qualcomm-based Samsung Galaxy S9, S9+ and Note9 devices.
  • ARCore SDK for Android issue #469: Resolved a race condition that could cause ARCore to report a device as unsupported immediately after ARCore is updated.
  • Resolved some cases where Session.RequestApkInstallation(bool) could result in a 'Session.Status' of FatalError.

@pablisho pablisho released this Aug 23, 2018 · 2 commits to master since this release

Assets 3

Bug fixes

  • Fixed 'UnityEngine.Network' is obsolete: The legacy networking system has been removed in Unity 2018.2. Use Unity Multiplayer and NetworkIdentity instead.' in Unity 2018.2 and above.

@pablisho pablisho released this Aug 2, 2018 · 3 commits to master since this release

Assets 3

Breaking changes

None.

New APIs

  • New methods Frame.Raycast(...) and Frame.RaycastAll(...) that perform a hit test with an arbitrary ray constructed from given origin and direction.
  • New ARCoreSession.CameraFocusMode to enable/disable auto-focus for the AR Camera.
  • New ARCore Camera Configuration API: ARCore Camera can be configured by register the ARCoreSession.RegisterChooseCameraConfigurationCallback.

Deprecations

None.

Behavioral changes

  • ARCore iOS support is now disabled by default. To enable ARCore iOS support for using ARCore Cloud Anchors on iOS, check the iOS Support Enabled checkbox in ARCore Project Settings window (Edit > Project Settings > ARCore). See #261
  • The ARCore SDK no longer has a hard dependency on the Unity ARKit SDK when ARCore iOS support is not enabled.

Other changes

  • Renamed "CloudAnchor" sample scene to "CloudAnchors", to match API name.
  • ARCore "ComputerVision" sample now supports options to configure the CPU image resolution.
  • DetectedPlane now exposes its type (HorizontalUpwardFacing, HorizontalDownwardFacing, Vertical).
  • Renamed Instant Preview plugins to arcore_instant_preview_* to prevent conflicts with GoogleVR Instant Preview plugins.
  • "HelloAR" sample places green Andys on planes and blue Andys on feature points.
  • "CloudAnchors" sample shows better error messages when there are network issues when sharing the anchor id among devices.
  • The edge detection algorithm in the "ComputerVision" sample now handles the case that the row stride has more pixel than the image width in camera image.

Bug fixes

  • Fixed documentation URLs on the ARCoreBackgroundRenderer, ARCoreSession, ARCoreSessionConfig, Anchor, EnvironmentalLight and XPAnchor script components. Clicking on the inspector view's doc icon on these components now launches the corresponding ARCore references docs.
  • Fixed #274: Unity project contains ARCore SDK cannot be built targeting Standalone.

@pablisho pablisho released this Jun 21, 2018 · 4 commits to master since this release

Assets 3

Breaking changes

None.

New APIs

  • Camera Intrinsics API. Added the methods to get the camera texture/image intrinsics.

Deprecations

None.

Behavioral changes

  • The ComputerVision sample now displays the camera intrinsics values on screen.
  • ARCore project settings (Edit > Project Settings > ARCore) now allow setting a different API Key for Android and iOS apps.

Other changes

  • The cloud_anchor_manifest.aar file is only regenerated when the API Key has changed.
  • CloudAnchors example supports the ARKit plugin released in the Asset Store.

Bug fixes

  • Fixed NullReferenceException after stopping Play mode in the editor.
  • Fixed malformed console messages due to missing missing newlines characters in Instant Preview standard output and standard error.
  • Fixed broken build when using IL2CPP.
  • Fixed InvalidOperationException when running ARCore application built using .NET 4.6.
  • Each ARCore sample app now has a unique icon.
  • Fixed an issue where an AugmentedImageDatabase was not properly rebuilt after a name or physical width change.
  • Fixed #215: macOS: augmented_image_cli_osx exception attempting to open Example Database.asset in AugmentedImage sample.
  • Fixed #182: Camera orientation issue when orientation locked to landscape mode.
  • Fixed #188: ARCore materials show as black in Unity Editor.
  • Fixed the crash when ARCore session failed to create on iOS devices.
  • Fixed exception thrown when calling ArImageMetadata methods while previewing in editor. These methods are not implemented in Instant Preview. They will now return ErrorMetadataNotFound if called from the editor while using Instant Preview.
  • Fixed #237: Unable to find the Aumgented Image CLI tools on Windows uing .Net 4.6.
  • Fixed the crash when playing ARCore enabled scene in Unity Editor while targeting iOS.

@pablisho pablisho released this May 8, 2018 · 6 commits to master since this release

Assets 3

Updated on 2018-05-11 to remove temporary APK sideload instructions.

Breaking changes

None.

New APIs

  • Cloud Anchors API. Enables developers to build shared AR experiences across iOS and Android, by allowing anchors created on one device to be transformed into cloud anchors and shared with users on other devices.
  • Augmented Images API. Enables ARCore apps to detect and track images.
  • Vertical plane detection. ARCore now detects both horizontal and vertical planes.

New Samples

  • New CloudAnchor sample that shows how to share anchors between devices on both Android and iOS.
  • New AugmentedImage sample that shows how to configure images for detection and pose tracking in ARCore.

Deprecations

  • ARCoreSessionConfig.EnablePlaneFinding has been replaced by ARCoreSessionConfig.PlaneFindingMode which now supports enabling vertical and horizontal planes separately. If you get ARCoreSessionConfig.EnablePlaneFinding in code, it will be false when PlaneFindingMode is Disabled and true otherwise. If you set ARCoreSessionConfig.EnablePlaneFinding in code, it will disable both horizontal and vertical plane finding when set to true and enable both when set to false.
  • TrackedPoint has been renamed to FeaturePoint, and TrackedPlane has been renamed to DetectedPlane, to match the respective ARCore feature names. If you use C# reflection you will continue to get Type objects for the deprecated types. This will change when the deprecated classes are ultimately removed in a future ARCore release.

Behavioral changes

  • The default session config now enables both horizontal and vertical plane detection. Previously only horizontal planes were detected.

Other changes

  • Moved common example assets into /Assets/GoogleARCore/Examples/Common/ directory.
  • SDK now includes the PlayServicesResolver to enable compatibility with other Google iOS SDKs.
  • Sample apps now build with a new ARCore icon.
  • Computer Vision example displays edge detection in black and white.
  • Computer Vision example shows a full overlay image when edge detection enabled.

Bug fixes

  • Unity's Game window can now be resized while previewing in the editor with Instant Preview.
  • Instant Preview touch input no longer misses frames.
  • Instant Preview handles multiple touches.
  • Fixed #166: Instant Preview uses normalized input coordinates so that it will work with any Unity game window size.
  • EnvironmentalLight sets _GlobalLightEstimation for backward compatibility with SDK version 1.0.
  • Fixed #146: The ARCore Device prefab's First Person Camera game object has been MainCamera. This means Camera.main will now return the ARCore camera.
  • ARCore APK installation can be declined without causing a crash.

Known Issues

  • If the API key specified for authenticating with the ARCore Cloud Anchor service is invalid, the final cloud anchor state of the anchor will be ErrorInternal instead of ErrorNotAuthorized. This is a known issue and will be fixed in an upcoming release.

@pablisho pablisho released this Mar 29, 2018 · 7 commits to master since this release

Assets 3

ARCore enables AR applications to track a phone’s motion in the real world, detect planes in the environment, and understand lighting in the camera scene.

New APIs

  • New API for synchronously (in the same frame) acquiring the image from a camera frame (without manually copying the image buffer from the GPU to the CPU). This lets you run your own image processing algorithms on the images from the camera.
  • New API for getting color correction information added to LightEstimate for the images captured by the camera. This lets you render your virtual objects in a way that better matches the real-world lighting conditions.

New features

Instant Preview allows you to skip the build process and test ARCore apps instantly on your phone during development. Click Play in the Unity editor to preview your app on your phone using real device input and output.

API changes

  • Frame.PointCloud.GetPoint() now returns a Vector4. It returns the pointcloud point along with its confidence value. Existing code using Vector3 will continue to work as Vector4 implicitly converts to Vector3.
  • The Frame.CameraImage.DisplayUvCoords property now returns a DisplayUvCoords type instead of the internal ApiDisplayUvCoords type.
  • Exposed ValueType in CameraMetadataValue.

Other changes

  • We have updated the names of game objects in "HelloAR" scene for consistency.

Known issues

  • Unity Instant Preview currently has a number known limitations.

Bug fixes

  • Fixed #81: Disabling ARCoreBackgroundRenderer sets ARBackgroundRenderer.mode to ARRenderMode.StandardBackground.
  • Fixed #118: Denying camera permission and/or APK installation is now possible without restarting the app.
  • Fixed crash when disabling ARCore supported in Player Settings > XR Settings.
  • Fixed null dereference in TexReader on the first frame.
  • Fixed #123: Removed hardcoded path in BuildHelper.cs.
  • Proper use of pixel intensity light estimate in HelloAR.
  • Fixed: Unneeded READ_PHONE_STATE permission will no longer be added to the APK's AndroidManifest.xml.
  • Fixed #124: Removed log "Unable to find Anchor component" after an anchor is destroyed.
  • Fixed: Can now set configuration on ARCoreSession created via script, or at startup via Awake(), before the session gets enabled.
  • Fixed #126: Modifying session configuration at runtime is now possible.
  • Fixed #128: Objects from old sessions are deleted when a new ARCoreSession is created.
  • Fixed: TrackableQueryFilter now iterates over only "Updated" trackables.

Supported Devices

This release is only supported on, and should only be installed on, qualified devices running Android N and later. See the list of ARCore supported devices for specific device models.

@chaosemer chaosemer released this Feb 23, 2018 · 9 commits to master since this release

Assets 3

ARCore enables AR applications to track a phone’s motion in the real world, detect planes in the environment, and understand lighting in the camera scene. ARCore 1.0 introduces the placement of anchors on textured surfaces (like posters or plant leaves) using oriented points. The Android Emulator in Android Studio 3.1 Beta supports ARCore 1.0.

ARCore 1.0 is available for use in production apps on supported Android devices. ARCore 1.0 introduces the concept of AR required and AR optional apps. Apps should be classified as required or optional to ensure the ARCore service install is properly handled by the Play Store.

Supported Devices

  • This release is only supported on, and should only be installed on, qualified devices running Android N and later. See the list of ARCore supported devices for specific device models.
  • Apps built with ARCore Developer Preview or ARCore Developer Preview 2 are not supported on with ARCore 1.0.

Known Issues

  • None.

Lifecycle issues

  • ARCore does not support picture-in-picture mode.

@jguomoto jguomoto released this Dec 15, 2017 · 10 commits to master since this release

Assets 3

ARCore SDK Preview 2

2018-01-30 EDIT: Added link to ARCore supported devices.

This is a developer preview SDK that enables prototyping AR experiences using ARCore on supported Android devices.

ARCore enables AR applications to track a phone’s motion in the real world, detect planes in the environment, and understand lighting in the camera scene.

This developer preview release is not intended for use in production apps that are shipped to customers. Future versions of ARCore might introduce breaking changes to the API.

Supported Devices

This release is only supported on, and should only be installed on, qualified devices running Android N and later. See the list of ARCore supported devices for specific device models.

Installing this release on phones other than the supported devices might break other software on the device.

Notes

Multiple Versions of ARCore

  • Apps built with the original ARCore SDK Developer Preview are only compatible with the original arcore-preview.apk. Apps built with ARCore SDK Developer Preview 2 are only compatible with arcore-preview2.apk.
  • A developer can install versions of ARCore provided in both the original ARCore SDK Developer Preview and ARCore SDK Developer Preview 2 at the same time to facilitate using apps built with either SDK. The original arcore-preview.apk will be visible as “Tango Core” in the Android Apps settings whereas arcore-preview2.apk will be visible as “ARCore” in the Android Apps settings.

Known Issues

  • ArSession_configure() does not apply settings changes if called while in a resumed state.

What’s New In Developer Preview 2

New SDK

  • Developer Preview 2 features an Android NDK (C API)

API Changes

  • The API interfaces have undergone significant revision and changes. All key functionality from the original Developer Preview remains, but the methods and function calls have changed.
  • The API now natively supports attaching Anchors to Planes.
  • ARCore Developer Preview 2 includes Unity and Java samples for camera image data access on the CPU. The provided Computer Vision sample is useful for running custom computer vision algorithms or image analysis on the camera image data.

Lifecycle Improvements

  • ARCore apps may recover planes and anchors if the session is paused and then resumed, provided the user is in roughly the same location and the environment or lighting has not changed significantly. This enables scenarios where AR content is not lost when the user briefly switches apps.

Unity

  • Developer Preview 2 requires Unity 2017.3.0f2 or higher. Note this version is higher than what was required in the original SDK Developer Preview.

Fixes

  • Many stability and performance improvements.