Releases: google-ar/arcore-unity-sdk
ARCore SDK for Unity v1.25.0
ARCore SDK for Unity v1.24.0
Breaking & behavioral changes
- Performing
Frame.Raycast()
orFrame.RaycastAll()
when the parameterfilter
is set toTrackableHitFlags.Default
andARCoreSessionConfig.DepthMode
isDepthMode.Automatic
will now includeDepthPoint
types in theTrackableHit
.
New APIs and capabilities
- Added new Raw Depth API that provides a depth image without image-space filtering.
- All devices that support the existing Depth API in ARCore supported devices now also support the new Raw Depth API.
- Developer guide,
Frame.CameraImage.UpdateRawDepthTexture()
,Frame.CameraImage.UpdateRawDepthConfidenceTexture()
,ARCoreSessionConfig.DepthMode
.
- Added new Custom Data Track Recording/Playback API, augmentations of the recording and playback features that allow developers to record and playback data to and from custom specified tracks, packaged as MP4 recordings. Developer Guide
- Added
ARCoreRecordingConfig.Tracks
list to allow the specification of additional tracks to record to when producing a recording. - Added
Frame.RecordTrackData()
to record data to specified additional tracks when producing a recording. - Added
Frame.GetUpdatedTrackData()
to playback data recorded to specified additional tracks in recordings.
- Added
- Added new trackable type
DepthPoint
that provides a calculated depth pose with each frame by hit testing. These values are sampled from the latest depth image, which yields more accurate results on non-planar or low-texture areas in the environment. - Added new setting option Do Not Use in ARCore Project Settings > Android Authentication Strategy and iOS Authentication Strategy.
Deprecations
None
Bug fixes
- Various bug fixes and performance improvements.
ARCore SDK for Unity v1.23.0
Known issues
None.
Breaking & behavioral changes
-
Changing the camera direction in an active session now requires disabling and enabling the session to take effect.
SessionStatus.ErrorInvalidCameraConfig
will be thrown if the new camera direction is incompatible with the session configuration. -
AR-enabled apps built using ARCore SDK 1.11.0 or earlier are no longer able to host or resolve Cloud Anchors.
- Cloud Anchors returned by
XPSession.CreateCloudAnchor(Anchor)
and XPSession.ResolveCloudAnchor(string) will always have stateCloudServiceResponse.ErrorInternal
. - Apps built with ARCore SDK 1.12.0 or later are unaffected. Their use of Cloud Anchors APIs is covered by the deprecation policy.
- Cloud Anchors returned by
New APIs and capabilities
- Developers can enable ARCore API call logging to the Android debug log by sending a broadcast intent.
- Developers can enable the ARCore performance overlay by sending a broadcast intent.
- Added new API for Facing Direction in
CameraConfig
: Developer guide, addition ofFacingDirection
property toCameraConfig
. Session.Status
now returns errror statusSessionStatus.ErrorInvalidCameraConfig
when ARCore Session failed to find a valid camera config during resuming.
Deprecations
None.
Other changes
- Upgraded ExternalDependencyManager plugin (formerly PlayServicesResolver) to v1.2.162.
- Android build now includes Keyless dependencies when
ARCoreSessionConfig.CloudAnchorMode
is notDisabled
and Keyless authentication is selected in Edit > Project Settings > Google ARCore. - Removed the unused blur pass parameters from the
Depth Effect
component.
Bug fixes
- Various bug fixes and performance improvements.
ARCore SDK for Unity v1.22.0
Upcoming breaking change affecting Cloud Anchors apps built using ARCore SDK 1.11.0 or earlier
Beginning in January 2021, AR-enabled apps built using ARCore SDK 1.11.0 or earlier will no longer be able to host or resolve Cloud Anchors. Specifically, Cloud Anchors returned by XPSession.CreateCloudAnchor(Anchor)
and XPSession.ResolveCloudAnchor(string)
will always have the state CloudServiceResponse.ErrorInternal
.
Apps built with ARCore SDK 1.12.0 or later are unaffected. Their use of Cloud Anchors APIs is covered by the Cloud Anchors deprecation policy.
Known issues
- Support for stereo camera depth is expected to become available in ARCore SDK 1.23.0.
- Apps may crash when calling
Application.Quit()
. This affects all ARCore app. See details in Unity's Issue Tracker. - Issue 141500087: When using Android Emulator
x86_64
system images on macOS with ARCore SDK 1.16.0 or later, Google Play Services for AR will crash. As a workaround, use anx86
system image.
Breaking & behavioral changes
None.
New APIs and capabilities
None.
Deprecations
None.
Other changes
None.
Bug fixes
None.
ARCore SDK for Unity v1.21.0
Upcoming breaking change affecting Cloud Anchors apps built using ARCore SDK 1.11.0 or earlier
Beginning in December 2020, AR-enabled apps built using ARCore SDK 1.11.0 or earlier will no longer be able to host or resolve Cloud Anchors. Specifically, Cloud Anchors returned by XPSession.CreateCloudAnchor(Anchor)
and XPSession.ResolveCloudAnchor(string)
will always have the state CloudServiceResponse.ErrorInternal
.
Apps built with ARCore SDK 1.12.0 or later are unaffected. Their use of Cloud Anchors APIs is covered by the Cloud Anchors deprecation policy.
Known issues
- Apps may crash when calling
Application.Quit()
. This affects all ARCore app. See details in Unity's Issue Tracker. - Issue 141500087: When using Android Emulator
x86_64
system images on macOS with ARCore SDK 1.16.0 or later, Google Play Services for AR will crash. As a workaround, use anx86
system image.
Breaking & behavioral changes
None.
New APIs and capabilities
- Added Recording and Playback of ARCore datasets. The Recording feature lets the app capture the data required to replay the AR session. Developer guide,
Session.RecordingStatus
,Session.StartRecording(ARCoreRecordingConfig)
,Session.StopRecording()
,Session.PlaybackStatus
,Session.SetPlaybackDataset(string)
. - Added new APIs for Stereo Camera usage in
CameraConfigFilter
andCameraConfig
: Developer guide, addition ofStereoCameraUsage
property toCameraConfig
,ARCoreCameraConfigFilter.StereoCameraUsage
.- Support for stereo camera depth is expected to become available in ARCore SDK 1.22.0.
Deprecations
None.
Other changes
- Changes to the HelloAR sample:
- Added a Depth check to reduce unnecessary logging.
- Added a setting to toggle Instant Placement mode.
- Changed minimum supported version of Unity to 2017.4.40.
Bug fixes
None.
ARCore SDK for Unity v1.20.0
Known issues
- Apps may crash when calling
Application.Quit()
. This affects all ARCore app. See details in Unity's Issue Tracker. - Issue 141500087: When using Android Emulator
x86_64
system images on macOS with ARCore SDK 1.16.0 or later, Google Play Services for AR will crash. As a workaround, use anx86
system image. - Issue 1276856 Unity removed support for
OpenGLES2
in "ARCore Supported" apps in 2018.4.26. Apps must disable Project Settings > Other Settings > Auto Graphics API, and then only includeOpenGLES3
in theGraphics APIs
list.
Breaking & behavioral changes
CameraConfigDepthSensorUsages
has been renamed toCameraConfigDepthSensorUsage
.- Beginning in December 2020, AR-enabled apps built using ARCore SDK 1.11.0 or earlier will no longer be able to host or resolve Cloud Anchors. Apps built with ARCore SDK 1.12.0 or later are unaffected. To learn more about this breaking change, and for instructions on how to update your app, see the Cloud Anchors deprecation policy.
New APIs and capabilities
- Added persistent Cloud Anchors, which let you increase the time-to-live (TTL) of Cloud Anchors to 365 days. With the Cloud Anchor Management API, you can also extend the lifetime of a Cloud Anchor. Use of persistent Cloud Anchors is covered by the new Cloud Anchors deprecation policy.
Deprecations
None.
Other changes
- Added a Depth check to the HelloAR sample to reduce unnecessary logging.
- The HelloAR sample now includes the settings to toggle Instant Placement mode in runtime.
- Changed the HelloAR sample to acquire depth images only when tracking is active. This avoids logging unactionable errors when tracking is not active.
- CloudAnchors and PersistentCloudAnchors scenes now use the camera included in
ARCoreDevice
prefab.
Bug fixes
- Fixed
NullReferenceException
inPointcloudVisualizerEditor
affecting newer versions of Unity, due to Unity's renaming of the internal_script
property tom_Script
.
ARCore SDK for Unity v1.19.0
Breaking change affecting previously published 32-bit-only apps
Google Play Services for AR (ARCore) has removed support for 32-bit-only ARCore-enabled apps running on 64-bit devices. Support for 32-bit apps running on 32-bit devices is unaffected.
If you have published a 32-bit-only (armeabi-v7a
) version of your ARCore-enabled app without publishing a corresponding 64-bit (arm64-v8a
) version, you must update your app to include 64-bit native libraries. 32-bit-only ARCore-enabled apps that are not updated may crash when attempting to start an augmented reality (AR) session.
To learn more about this breaking change, and for instructions on how to update your app, see https://developers.google.com/ar/64bit.
Known issues
- Apps may crash when calling
Application.Quit()
. This affects all ARCore apps. See details in Unity's Issue Tracker. - Issue 141500087: When using Android Emulator
x86_64
system images on macOS with ARCore SDK 1.16.0 or later, Google Play Services for AR will crash. As a workaround, use anx86
system image. - Unity 2018.4.24f1 is the minimum supported 2018.4 version that allows use of a custom Gradle template. See details in 2018.4.24f1 Release Notes.
- Unity 2019.3.7f1 is the minimum supported 2019.3 version that allows overwriting launcher and main Gradle templates. See details in 2019.3.7f1 Release Notes.
Breaking & behavioral changes
- To support Android 11, the ARCore SDK for Unity now requires Gradle version 5.6.4 or later. For details, refer to Android 11.
New APIs and capabilities
- Added new Instant Placement APIs:
- New
InstantPlacementMode
Enum type. - New
InstantPlacementMode
property inARCoreSessionConfig
to enable Instant Placement in ARCore session. - New
InstantPlacementPoint
Trackable. - Added
Frame.RaycastInstantPlacement()
to perform a raycast against an Instant Placement Point.
- New
Deprecations
None.
Bug fixes
- Fixed #710: Unity Editor crashes when running Instant Preview.
ARCore SDK for Unity v1.18.0
Upcoming breaking change affecting previously published 32-bit-only apps
In August 2020, Google Play Services for AR (ARCore) will remove support
for 32-bit-only ARCore-enabled apps running on 64-bit devices. Support for
32-bit apps running on 32-bit devices is unaffected.
If you have published a 32-bit-only (armeabi-v7a
) version of your
ARCore-enabled app without publishing a corresponding 64-bit (arm64-v8a
)
version, you must update your app to include 64-bit native libraries before
August 2020. 32-bit-only ARCore-enabled apps that are not updated by this time
may crash when attempting to start an augmented reality (AR) session.
To learn more about this breaking change, and for instructions on how to update
your app, see https://developers.google.com/ar/64bit.
Known issues
- Apps may crash when calling
Application.Quit()
. This affects all ARCore app. See details in Unity's Issue Tracker. - Issue 141500087: When using Android Emulator
x86_64
system images on macOS with ARCore SDK 1.16.0 or later, Google Play Services for AR will crash. As a workaround, use anx86
system image.
Breaking & behavioral changes
targetSdkVersion
inside the ARCore Android Archive (AAR) file has been updated to API level 29. Specifying atargetSdkVersion
in your project'sbuild.gradle
orAndroidManifest.xml
will override the ARCore value.
New APIs and capabilities
- Added new Depth API. Check the list of ARCore supported devices to see which devices support the Depth API.
- New
DepthMode
enum type. - New
DepthMode
property inARCoreSessionConfig
to enable Depth in ARCore session. - Added
Session.IsDepthModeSupported()
to check whether the depth mode is supported on the device. - Added
Frame.UpdateDepthTexture()
to update the input texture using the latest depth data from ARCore.
- New
Deprecations
None.
Other changes
- Added
CloudServiceResponse.ErrorTooManyCloudAnchors
enum value. - The HelloAR sample now includes support for occlusion using the ARCore Depth API.
- Updated C# style for non-public variables and methods. For example,
private float m_Foo
now readsprivate float _foo
andprivate void _Bar()
now readsprivate void Bar()
.
Bug fixes
- Fixed Cloud Anchors Privacy link in the
CloudAnchors
sample app. The incorrect link now redirects to the correct link, so existing apps with the incorrect link don't need to be updated.
ARCore SDK for Unity v1.17.0
Upcoming breaking change affecting previously published 32-bit-only apps
In August 2020, Google Play Services for AR (ARCore) will remove support
for 32-bit-only ARCore-enabled apps running on 64-bit devices. Support for
32-bit apps running on 32-bit devices is unaffected.
If you have published a 32-bit-only (armeabi-v7a
) version of your
ARCore-enabled app without publishing a corresponding 64-bit (arm64-v8a
)
version, you must update your app to include 64-bit native libraries before
August 2020. 32-bit-only ARCore-enabled apps that are not updated by this time
may crash when attempting to start an augmented reality (AR) session.
To learn more about this breaking change, and for instructions on how to update
your app, see https://developers.google.com/ar/64bit.
Known Issues
- Apps may crash when calling
Application.Quit()
. This affects all ARCore apps. See details in Unity's Issue Tracker.
Breaking & behavioral changes
- Added
SessionStatus.ErrorCameraNotAvailable
andSessionStatus.ErrorIllegalState
to indicate specific ARCore session errors.
New APIs and capabilities
- Multithreaded Rendering on Android (Project Settings > Player > Android > Other Settings > Multithreaded Rendering) is now supported for Unity 2018.2 and later. However, 3D assets may not always render correctly when the app places a high load on the rendering thread. On Unity 2018.1 and earlier, Multithreaded Rendering will not work when using the front-facing (selfie) camera.
Deprecations
None
Other changes
None.
Bug fixes
- Fixed #99:
Frame.Raycast
throws exception when callingArFrame_hitTestRay
while using Instant Preview.
ARCore SDK for Unity v1.16.0
Upcoming breaking change affecting previously published 32-bit-only apps
In August 2020, Google Play Services for AR (ARCore) will remove support
for 32-bit-only ARCore-enabled apps running on 64-bit devices. Support for
32-bit apps running on 32-bit devices is unaffected.
If you have published a 32-bit-only (armeabi-v7a
) version of your
ARCore-enabled app without publishing a corresponding 64-bit (arm64-v8a
)
version, you must update your app to include 64-bit native libraries before
August 2020. 32-bit-only ARCore-enabled apps that are not updated by this time
may crash when attempting to start an augmented reality (AR) session.
To learn more about this breaking change, and for instructions on how to update
your app, see https://developers.google.com/ar/64bit.
Breaking changes
- None.
New APIs
- None.
Deprecations
- None.
Behavioral changes
- Beginning with ARCore SDK 1.16.0, most 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.
Other changes
- Removed XPSessionStatus.cs, as it is not used in the SDK anymore.
- As of Unity v2020.1, the Player Settings > XR Settings has been removed. The ARCore Supported option is no longer needed. The ARCore SDK for Unity automatically detects the presence of the SDK, or warn if there is a conflict with components of AR Foundation.
Bug fixes
- Fixed #660: The pawn in the Object Manipulation sample can't be translated.