Releases: google-ar/arcore-unity-sdk
ARCore SDK for Unity v1.15.0
Breaking changes
- Update: A bug caused this feature to not work in 1.15.0, which is fixed in 1.16.0.
Beginning with ARCore SDK 1.15.0, some devices will now return additional supported camera configs with lower GPU texture resolutions than the device's default GPU texture resolution. See the ARCore supported devices for details.
New APIs
None.
Deprecations
None.
Behavioral changes
None.
Other changes
- Vertical plane detection works better on surfaces with low visual texture.
Bug fixes
- Fixed build system errors on Unity 2018.3 and later in CloudAnchorPreprocessBuild.cs. Now uses
EditorPrefs.GetString("JdkPath")
only whenEditorPrefs.GetBool("JdkUseEmbedded")
is not true. - Setting the
AugmentedImageDatabase
to null in the ARCore Session now correctly disables Augmented Images in the ARCore session. ARCoreAugmentedFaceMeshFilter
andARCoreAugmentedFaceRig
components now can get the correct AugmentedFace trackable in AutoBind mode after a session reset.
Known issues
- Instant Preview may freeze Unity when using Android 9 and a USB 3 cable. To remedy, update to Android 10 or use a USB 2 cable.
- Instant Preview may fail to display on device when Unity's game view resolution is too high. To remedy, lower Unity's game view resolution in the Editor.
ARCore SDK for Unity v1.14.0
Breaking changes
- Renamed
CameraFocusMode.Auto
toCameraFocusMode.AutoFocus
. - Renamed
CameraFocusMode.Fixed
toCameraFocusMode.FixedFocus
.
New APIs
None.
Deprecations
None.
Behavioral changes
- The
Session.LostTrackingReason
may now beLostTrackingReason.CameraUnavailable
when the camera is in use by another application. Prior to ARCore SDK 1.13 this would have beenLostTrackingReason.None
. After an app regains priority, tracking will resume.
Other changes
- Changed minimum supported version of Unity to 2017.4.34f1. Apps submitted to the Play Store after November 2019 are required to target API level 28 (Android 9) or higher, which was not supported in the previously recommended version 2017.4.27f1.
Bug fixes
- Fixed known issue from 1.13.0 where Instant Preview shows a white camera image on Pixel 3 and Pixel 4 running Android 10 when on Mac.
ARCore SDK for Unity v1.13.0
Breaking changes
None.
New APIs
None.
Deprecations
- The
ErrorAndroidVersionNotSupported
property has been deprecated and merged withErrorDeviceNotCompatible
. UseErrorDeviceNotCompatible
instead.
Behavioral changes
LightEstimate.ReflectionProbe
now returns the cubemap texture corresponding to the color space setting in Project Setting. When using Gamma color space, the texture will be in gamma space. When using Linear color space, the texture will be in linear space. Previously, the texture was always returned in Linear color space.
Bug fixes
- Fixed an issue where app crashes when
ARCoreSession
is destroyed before destroying anchors. - Fixed an issue where Instant Preview fails to install if
ADB_TRACE
is set.
Known issues
- Instant Preview does not work with the Pixel 3/3 XL and Pixel 4/4 XL running Android 10.
ARCore SDK for Unity v1.12.0
Breaking changes
The following changes only affect apps built with ARCore SDK 1.12 or later. Apps built with older SDKs will not be affected by these changes, and will continue to observe old behavior.
- The data captured by
CreateCloudAnchor
and uploaded to the ARCore Cloud Anchor API service has changed. See https://developers.google.com/ar/develop/unity/cloud-anchors/overview-unity#how-hosted to learn more. CreateCloudAnchor
will no longer timeout or fail when the ARCore Cloud Anchor API service is unreachable, or the anchor cannot be immediately resolved. Instead, the API will continue to attempt to resolve the provided anchors until they are detached.CloudServiceResponse.ErrorServiceUnreachable
andCloudServiceResponse.ErrorLocalizationFailed
have been deprecated and will no longer be returned.
New APIs
- Added
XPSession.CancelCloudAnchorAsyncTask
API so that the resolving Cloud Anchor request can be cancelled andCloudServiceResponse.ErrorRequestCancelled
will be returned in this case. - Added
CloudServiceResponse.ErrorHostingServiceUnavailable
to indicate the hosting service unreachable error.
Deprecations
CloudServiceResponse.ErrorServiceUnreachable
andCloudServiceResponse.ErrorLocalizationFailed
enum values in theCloudServiceResponse
have been deprecated and will no longer be returned.
Behavioral changes
XPSession.ResolveCloudAnchor
now continues to retry in background indefinitely until it is successfully resolved, cancelled, or reaches a terminal error state.
Other changes
- For iOS, changed Podfile to reference new "ARCore/CloudAnchors" subspec.
- Added a face texture template file, see
Assets/GoogleARCore/Examples/AugmentedFaces/Models/canonical_face_texture.psd
. - Replaced differently colored Andy models in HelloAR and ObjectManipulation samples with one new ARCore 'pawn' model.
- CloudAnchors sample updates:
- Added a resolving prepare time so that the app won't start to resolve the anchor until the preparation time passed.
- Added a customized timeout duration in AnchorController to prevent retrying to resolve indefinitely.
- Added a return to lobby button in AR screen and the app when disconnected from the server.
- Added a start screen which displays sharing experience instruction on the first launch.
- Removed the
Assets/GoogleARCore/Examples/CloudAnchors/Scripts/MultiplatformMeshSelector.cs
and moved mesh setting logic toStarController
andAnchorController
to solve the issue where the asset is placed at identity pose. - Replaced the boat anchor 3D asset with a new model to emphasize orientation of the Cloud Anchor.
- Added addition function to
AugmentedImageDatabaseInspector
.
Bug fixes
- Fixed bug where configuration is not synchronized after camera direction changed.
- Fixed invalid assignment of Screen.sleepTimeout in samples.
- Fixed issue where
Assets/GoogleARCore/SDK/Materials/ARBackground.shader
doesn't work on devices with Mali GPU when the app renders on OpenGL ES2. - Fixed issue where generating an ARCore Bug Report wouldn't work when illegal characters were in PATH.
- Fixed issue where Augmented Images databases wouldn't recalculate image quality scores after the underlying image had been updated.
- Fixed #614: Continuous error in logcat: ArLightEstimate_getEnvironmentalHdrAmbientSphericalHarmonics while using IL2PP on 2019.1.
ARCore SDK for Unity v1.11.0
Breaking changes
None.
New APIs
- Added
ARCoreCameraConfigFilter
APIs with options for the camera capture frame rate and depth camera usage. - Added
MinFPS
,MaxFPS
, andDepthSensorUsage
properties toCameraConfig
.
Deprecations
None.
Behavioral changes
- ARCore Device prefab uses the new
Assets/GoogleARCore/Configurations/DefaultCameraConfigFilter
which will enable 60fps on a subset of ARCore supported devices. For a detailed list, see Supported Devices.
Other changes
- The ARCore service has been renamed to Google Play Services for AR. On Google Play devices it is now distributed as part of Google Play Services.
- Updated
ViewInARIcon.png
loading icon. DetectedPlaneVisualizer
sample component now uses white for all detected planes.- Upgraded PlayServicesResolver plugin to v1.2.122.
- ComputerVision sample now selects the highest CPU resolution with highest FPS for the "High Resolution CPU image" button and the lowest CPU resolution with highest FPS for the "Low Resolution CPU image" button.
- All other samples now select a 60fps configuration when available.
- In ComputerVision sample, moved
RegisterChooseCameraConfigurationCallback
fromStart()
toAwake()
to ensure it is triggered the first timeARCoreSession
is enabled.
Bug fixes
- Fix bug in ComputerVision example where it occasionally displayed a black screen when first launched.
ARCore SDK for Unity v1.10.0
Breaking changes
None.
New APIs
- New Environmental HDR modes added to Light Estimation API enable more acurate light estimation:
*LightEstimateMode.EnvironmentalHDRWithoutReflections
andLightEstimateMode.EnvironmentalHDRWithReflections
.
* Environmental HDR provides developers with three APIs to replicate real world lighting when using the back-facing camera:- Main Directional Light: helps with casting shadows in the right direction.
- Ambient Spherical Harmonics: helps model ambient illumination from all directions.
- HDR Cubemap: helps model realistic reflections.
Deprecations
- Deprecated
ARCoreSessionConfig.EnableLightEstimation
. To choose the light estimation mode, useARCoreSessionConfig.LightEstimationMode
. To enable the previous behavior whenARCoreSessionConfig.EnableLightEstimation
was true, set the light estimation mode toLightEstimationMode.AmbientIntensity
. See more details inGoogleARCore.LightEstimationMode
. - Deprecated the constructor
LightEstimate(LightEstimateState, float, Color)
. Instead, useLightEstimate(LightEstimateState, float, Color, Quaternion, Color, float[,], long)
.
Behavioral changes
None.
Other changes
-
Upgraded PlayServicesResolver plugin to v1.2.105.0.
-
Assets/GoogleARCore/Configurations/DefaultSessionConfig
now defaults to Environmental HDR With Reflections light estimation mode. If you created your ownSessionConfig
asset, it will retain the previously configured light estimation mode. -
Environmental HDR With Reflections light estimation mode is now used in HelloAR, AugmentedImage, CloudAnchors, ComputerVision and ObjectManipulation samples.
-
Added Directional Light in
Environmental Light.prefab
to support new light estimation modes. -
Added a log message in
ARCoreSession
component that indicates Light Estimation may not work properly whenEnvironmentalLight
component is not in the scene. -
Updated
AndyBlue
andAndyGreen
prefabs to use metallic materials. -
Added
AndyPurple
prefab and updated HelloAR to place it on vertical plane. -
A new TransparentShadow example shader in
Assets\GoogleARCore\Examples\Common
shows how to use light estimation for higher quality shadows. -
Instant Preview now supports changing update mode, planefinding mode, and focus mode.
-
Instead of relying on
UnityEngine.XR.ARBackgroundRenderer
in Unity,ARCoreBackgroundRender
now uses its own command buffer to render the camera background.
Bug fixes
- Fixed bug in CloudAnchors example where a host disconnecting due to a crash or force quit would leave a non-functional room.
ARCore SDK for Unity v1.9.0
Breaking changes
None.
New APIs
- Added
AugmentedImage.GetTrackingMethod()
that enables app to tell whether an Augmented Image is currently tracked by camera view or its last known position.
Deprecations
None.
Behavioral changes
- Augmented Images no longer relies solely on the session's tracking state, see Recognize and Augment Images for more information.
Other changes
- Added Help > Capture ARCore Bug Report menu item to assist in troubleshooting issues with Instant Preview.
- Removed checking session's tracking state in AugmentedImages sample app and added a brief comment to describe
AugmentedImage.TrackingMethod
use case. - Instant Preview logs a warning and shows a toast message when touches are detected, but not consumed by
InstantPreviewInput
within one second. To learn more about handling input while using Instant Preview, see https://developers.google.com/ar/develop/unity/instant-preview - Instant Preview logs a warning and shows a toast message when attempting to use APIs that are not yet supported by Instant Preview.
- Added details of how to apply the Apache License to your work to our LICENSE file.
Bug fixes
- Fixed typo, renamed
AumgnetedFaceSessionConfiguration
toAugmentedFaceSessionConfiguration
. - Fixed #277: Cannot get camera feed when using OPENGLES2 as graphics API.
- Fixed ARCore Analytics recorded data and option text clipped in the preferences dialog in 2018.3 and later.
- Fixed #268: ARBackground shader doesn't work correctly for Linear color space.
ARCore SDK for Unity v1.8.0
Known issue in Unity 2019.1.0b9
- Unity Issues ID 1133177: Unity crashes when importing
Assets/GoogleARCore/Examples/Common/Videos/hand_oem.webm
. This issue should be fixed in Unity 2019.1.0b10.
Breaking changes
None.
New APIs
None.
Deprecations
None.
Behavioral changes
- The ARCore SDK for Unity now sends SDK usage analytics to Google when an ARCore-enabled project is opened, or the SDK is imported into an existing Unity project. For more information or to disable analytics, visit the developer website.
- Disabling, then enabling the
ARCoreSession
component on the ARCore Device prefab will pause, then resume ARCore in next frame.
Other changes
- Enabled auto focus by default in AugmentedImages sample app, to improve tracking of small targets.
- Upgraded PlayServicesResolver plugin to v1.2.100.
- CloudAnchors sample now displays error message using the snack bar instead of using Android toast messages.
- Reformated code to fit within 100-character lines.
- Improve translation behavior when moving an object from a higher plane to a lower plane in the Object Manipulation Example.
- Updated the CloudAnchors sample to not create an anchor for stars.
- Updated the AugmentedFaces sample to use its own icon.
- Updated the CloudAnchors and ComputerVision samples to not overlap UI with notch on certain phones.
- Added a build preprocess warning message to indicate that Scriptable Rendering Pipeline Asset is currently not supported by ARCore.
Bug fixes
- Fixed #449 Unnecessary
"android.permission.READ_PHONE_STATE"
added. - Fixed issue where closing the help window would also place an Andy in the HelloAR sample.
- Fixed issue where a spurious null-reference exception could be thrown upon
ARCoreSession
component destruction. - Fixed issue where cannot get Camera Configuration list at the first time a session is created.
- Fixed issue in ComputerVision sample where selecting "High Resolution CPU Image" does not take effect.
- Fixed issue where
ChooseCameraConfigurationCallback
may return camera configurations that have the wrong camera facing. - Fixed issue in CloudAnchors sample where objects that were placed on vertical planes didn't have the correct orientation.
- Fixed duplicate 'Edit > Project Settings' menu item in Unity 2018.3 and later.
- Fixed issue where 'Assets > Create > Google ARCore > AugmentedImageDatabase' menu item is grayed out when no image is selected.
- Fixed #523 ObjectManipulation scene doesn't work with Instant Preview.
ARCore SDK for Unity v1.7.0
User privacy requirements
- Updated
README.md
to clarify ARCore's Terms & Conditions and User Privacy Requirements.
Breaking changes
None.
New APIs
- Augmented Faces and front-facing camera support
- Added the ability to use the front-facing (selfie) camera with the
ARCoreSession
component, as well as animation for camera transitions.- Note: Motion tracking, all types of anchors, Augmented Images, and plane detection are not available when using the front-facing camera.
- New Augmented Faces mode supported when using the front-facing (selfie) camera.
- New
AugmentedFaceMode
property inARCoreSessionConfig
to enable Augmented Faces in ARCore session. - New
AugmentedFace
class (extendsTrackable
) that provides face poses and mesh estimation for detected faces. - New AugmentedFaces sample scene to demonstrate how to use the new Augmented Faces API.
- New
- Added the ability to use the front-facing (selfie) camera with the
- New
VersionInfo.Version
to retrieve a string describing the ARCore SDK for Unity version. - Added
Session.LostTrackingReason
that enables apps to provide actionable feedback to users when tracking is lost. - Added
Frame.TransformCoordinate()
that transforms between different 2D coordinates systems, seeDisplayUvCoordinateType
enum.
Deprecations
Frame.CameraImage.DisplayUvCoords()
has been deprecated. UseFrame.TransformCoordinate()
instead.
Behavioral changes
- Enabling and disabling the
ARCoreSession
component on the ARCore Device prefab now doesn't take effect until the next frame. Disabling the ARCore session will no longer stall the main thread.
Other changes
- New Plane Discovery prefab that shows a guide to help users find a plane.
- New Feature Point Visualizer that includes a visual popping effect.
- New Object Manipulation sample showing interactions for manipulating objects in AR.
Bug fixes
- Fixed issue 244, background color green-blue swapped issue with HDR enabled on Samsung Exynos devices.
- Fixed issue 439, augmented_image_cli hangs when using uppercase file extensions — gives the message "Calculating..." but never shows final score
- Fixed application crash for apps that were built with Player Settings > XR Settings > ARCore Supported disabled.
- Instant Preview emits a warning when build platform is not set to Android. Helps avoid Instant Preview stream being scaled incorrectly due to high resolution monitors on 'standalone' (desktop) build platforms restricting the game view scale to 2x and higher.
- Fixed issue 389, failure to restore camera projection matrix when
ARCoreBackgroundRenderer
component is disabled. - Fixed issue 327 where the Camera's global position and rotation were updated while running in Instant Preview instead of the local position and rotation.
- Eliminated console build warnings.
- Updated Instant Preview console messages for clarity.
- Updated
ExampleBuildHelper
so that builds the SDK sample scenes no longer overwrites the Android Package Name and Product Name. Application icons are now only updated if they are unset, or are set to one of the included sample icons.
ARCore SDK for Unity v1.6.0
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
withSetTriangles
inDetectedPlaneVisualizer
. - 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.