Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[2.1.19] - 2021-12-15
[2.1.18] - 2021-04-01
[2.1.16] - 2021-01-25
Changes
- Update XR Plug-in Management dependency to 4.0.
[2.1.14] - 2021-01-05
Fixes
- Fix issue with z-depth calculations on iOS when AR Foundation camera is enabled. This issue would result in shader z-depth differences (e.g. during fog computation) between normal camera rendering compared to AR camera rendering.
[2.1.10] - 2020-10-07
Changes
- Static library was built with Xcode 10.3 (10G8).
Fixes
- Fixed background rendering when in the Linear colorspace.
[2.1.9] - 2020-04-08
New
- Added XR Management loader for ARKit
Fixes
- Previously, when starting an AR session with focus mode set to "Fixed", the iOS device behaved as though auto focus was enabled. Now, the device correctly respects the focus mode.
- Apps that optionally use ARKit on 32-bit iOS devices now run as expected without AR functionality.
- Fixed a crash that could occur when multithreaded rendering was enabled and Stop was called on the
XRCameraSubsystem
. In ARFoundation, this happens when theARCameraManager
is disabled. This happened because the textures owned by the subsystem are later manipulated on the render thread, and stopping the subsystem could invalidate the textures.
Breaking Changes
If you receive this error:
We were unable to create an instance of the requested type UnityEngine.XR.ARKit.ARKitLoader. Please make sure that all packages are updated to support this version of XR Plug-In Management. See the Unity documentation for XR Plug-In Management for information on resolving this issue.
It means you need to update to at least version 2.1.8 of the ARKit XR Plugin package.
[2.1.2] - 2019-08-31
Fixes
- Enforce minimum target iOS version of 11.0 whenever ARKit is required.
[2.1.1] - 2019-08-05
Updated
- Update depedency on AR Subsystems package to version 2.1.1. This should not impact existing functionality, but helps with future compatibility.
[2.1.0] - 2019-06-25
- 2019.3 verified release ### New
- Add support for NotTrackingReason
[2.1.0-preview.6] - 2019-06-14
Improvements
- Add support for matching the ARCore framerate with the Unity one. See
XRSessionSubsystem.matchFrameRate
. - Use relative paths for Xcode asset catalogs. This allows the generated Xcode project to be moved to a different directory, or even a different machine. Previously, we used full paths, which prevented this.
- Conditionally compile subsystem registrations. This means the subsystems wont't register themselves in the Editor (and won't generate warnings if there are other subsystems for other platforms).
[2.1.0-preview.5] - 2019-05-21
Fixes
- Fix documentation links
- Fix iOS version number parsing. This caused
- Editor Play Mode exceptions (trying to parse a desktop OS string)
- Incorrect handling of iOS point releases (e.g., 12.1.3)
[2.1.0-preview.3] - 2019-05-14
New
- Add image tracking support.
- Add environment probe support.
- Add face tracking support.
- Add object tracking support.
[1.0.0-preview.23] - 2019-01-04
Fixes
- Refactor the way ARKit face tracking is in the build. Face tracking has been moved to a separate static lib so that it can be removed from the build when face tracking is not enabled. This was preventing apps from passing App Store validation, as face tracking types may not appear in the binary unless you include a privacy policy describing to users how you intend to use face tracking and face data.
New
- Support the
CameraIntrinsics
API in ARExtensions.
Fixes
- Fixed linker errors when linking
UnityARKit.a
with Xcode 9.x
[1.0.0-preview.20] - 2018-12-13
- Fix package dependency.
[1.0.0-preview.19] - 2018-12-13
- Add C header file necessary to interpret native pointers. See
Includes~/UnityXRNativePtrs.h
- Add support for setting the camera focus mode.
- Add a build check to ensure only ARM64 is selected as the only target architecture.
- Implement
CameraConfiguration
support, allowing you to enumerate and set the resolution used by the hardware camera.
[1.0.0-preview.18] - 2018-11-21
New
- Added ARKit Face Tracking support via
com.unity.xr.facesubsystem
. - Plane detection modes: Add ability to selectively enable detection for horizontal, vertical, or both types of planes.
[1.0.0-preview.17] - 2018-10-06
Fixes
- Fixed an issue where toggling plane detection or light estimation would momentarily pause the ARSession, causing tracking to become temporarily unstable.
- Fixed the (new) CameraImage API to work with the 2018.3 betas.
- ARKit's
ARTrackingStateLimited
was reported asTrackingState.Tracking
. It is now reported asTrackingState.Unavailable
.
Improvements
- Add support for native pointer access for several ARSession-related native objects.
- Add ARWorldMap support.
- Add linker validation when building with the IL2CPP scripting backend to avoid stripping the Unity.XR.ARKit assembly.
[1.0.0-preview.16] - 2018-10-10
New
- Added support for
XRCameraExtensions
API to get the raw camera image data on the CPU. See the ARFoundation manual documentation for more information.
[1.0.0-preview.15] - 2018-09-18
Fixes
- Fix memory leak when destroying the ARSession.
[1.0.0-preview.14] - 2018-08-10
- Add a pre build check to make sure Metal is the first selected Graphics API in Player Settings.
- Remove restriction on symlinking Unity libraries in Build Settings if using Unity 2018.3 or newer.
- Change plugin entry point in UnityARKit.a to avoid name collisions with other libraries (was
UnityPluginLoad
).
[1.0.0-preview.13] - 2018-07-17
- Update plugin to be compatible with Unity 2018.3
ARPlane.trackingState
reports the sessionTrackingState
for ARKit planes (previously it returnedTrackingState.Unknown
). ARKit planes do not have per-plane tracking states, so if they exist and the session is tracking, then the SDK will now report that the planes are tracked.
[1.0.0-preview.12] - 2018-06-20
- Add -fembed-bitcode flag to UnityARKit.a to support archiving.
- Fail the build if "Symlink Unity libraries" is checked.
[1.0.0-preview.11] - 2018-06-14
- Fail the build if Camera Usage Description is blank
[1.0.0-preview.10] - 2018-06-08
- Do not include build postprocessor when not on iOS
- Add support for reference points attached to planes
[1.0.0-preview.9] - 2018-06-06
- Remove extraneous debug log
[1.0.0-preview.8] - 2018-05-07
Added
-Created a Legacy XRInput interface to automate the switch between 2018.1 and 2018.2 XRInput versions.
[1.0.0-preview.8] - 2018-05-24
Added
- Availability check to determine runtime support for ARKit.
- Normalize average brightness reading from 0..1
[1.0.0-preview.5] - 2018-03-26
This is the first release of the ARKit package for multi-platform AR.
In this release we are shipping a working iteration of the ARKit package for Unity's native multi-platform AR support. Included in the package are static libraries, configuration files, binaries and project files needed to adapt ARKit to the Unity multi-platform AR API.