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
New
- Add a warning which is shown in the console when an Android app is built with only 32-bit architecture.
[2.1.18] - 2021-04-01
Fixes
- Exclude tests from scripting API docs.
- Improve handling for spaces in pathnames when building the reference image library which may cause the build to fail.
- Allow reference images to be located outside the
Assets
folder, e.g., in packages.
[2.1.16] - 2021-01-25
Changes
- Update XR Plug-in Management dependency to 4.0.
[2.1.14] - 2021-01-05
New
- ARCore requires Gradle version 5.6.4. When building the Android Player, this package now detects the version of Gradle in use and, if an incompatible version is detected, presents a dialog indicating that the Gradle version is insufficient. This dialog can be suppressed, and the option to do so is saved in the ARCoreSettings asset (Edit > Project Settings > XR > ARCore).
Fixes
- Fixed a potential issue with multithreaded rendering where the pass through video texture could be displayed before ARCore had completely finished updating it, leading to rendering artifacts. See, for example, issue 652.
[2.1.12] - 2020-10-07
Changes
- Update to ARCore 1.19
Fixes
- Fix unhandled exception when processing reference image libraries. This did not prevent the generation of the image libraries, but may have adversely affected error reporting.
- Fixed background rendering when in the Linear colorspace.
[2.1.11] - 2020-07-20
Improvements
- Exported projects are now compatible with Android Gradle Plugin 3.6.3 and older.
[2.1.8] - 2020-04-08
New
- Added XR Management loader for ARCore
Breaking Changes
If you receive this error:
We were unable to create an instance of the requested type UnityEngine.XR.ARCore.ARCoreLoader. 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.7 of the ARCore XR Plugin package.
[2.1.2] - 2019-07-19
New
- Add support for building image libraries on linux.
Fixes
- Previously, we reported the tracking state of augmented images using an ARCore API that always returned
TrackingState.Tracking
, even when the image had been removed from view. We now use the method ArAugmentedImage_getTrackingMethod instead, which will change the tracking state toTrackingState.Limited
if the image cannot be seen.
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.1] - 2019-06-25
- 2019.3 verified release
[2.1.0-preview.7] - 2019-06-18
New
- Add support for
NotTrackingReason
.
[2.1.0-preview.6] - 2019-06-03
Improvements
- Update to ARCore 1.9.
- Add support for matching the ARCore framerate with the Unity one. See
ARSession.matchFrameRate
.
Fixes
- 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-27
Fixes
- Enabling managed code stripping or IL2CPP would cause apps to fail to initialize ARCore on the first launch, just after the prompt for camera permissions. This has been fixed.
- Remove debug log from the image tracking subsystem.
- Fix documnentation links
- Reference image library generation would fail if the user's culture settings were not US-standard (e.g., using "," instead of "." for decimal values). This has been fixed.
- Fix
XRSessionSubsystem.Reset
. Previously, this did not properly resume a running session. - The session subsystem reported that it did not support ARCore APK installation, which meant that consumers of this API (e.g., ARFoundation) would never prompt for installation and report the device as unsupported. This has been fixed.
[2.1.0-preview.4] - 2019-05-08
Improvements
- Add support for image tracking.
- Add support for face tracking.
- Add support for multithreaded rendering.
[1.0.0-preview.24] - 2018-12-13
Improvements
- Support x86, ARMv7, and ARM64 Android architetures (previously was limited to ARMv7).
- Plane detection modes: Add ability to selectively enable detection for horizontal, vertical, or both types of planes.
- Add a build check for the "Graphcis Jobs (Experimental)" player setting, which forces multithreaded rendering and causes ARCore to fail.
- Add a build check for the presence of Google's ARCore SDK for Unity, which cannot be used with this package.
- Add support for setting the camera focus mode.
- Add C header file necessary to interpret native pointers. See
Includes~/UnityXRNativePtrs.h
- Implement
CameraConfiguration
support, allowing you to enumerate and set the resolution used by the hardware camera. - Update to ARCore v1.6.0
Fixes
- Updated background shader to workaround a bug which can cause green and blue color values to appear swapped on some devices when HDR is enabled.
Changes
- Remove 2018.1 and 2018.2 compatibility.
[1.0.0-preview.23] - 2018-10-07
Changes
- Re-add
using
directive needed for 2018.1.
[1.0.0-preview.22] - 2018-10-06
Improvements
- Add linker validation when building with the IL2CPP scripting backend to avoid stripping the Unity.XR.ARCore assembly.
- Add native pointer support for native AR objects
[1.0.0-preview.21] - 2018-10-12
Fixed
- Fixed a bug which prevented the CameraImage API from working in 2018.3+
[1.0.0-preview.20] - 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.19] - 2018-09-18
Fixed
- Correctly set camera texture dimensions.
- The background texture was not rendered correctly if a renderable
GameObject
in the scene had negative scale. This has been fixed. - Fixed issue AR Camera does not work with video player on ARCore. The pass through video would conflict with the Video Player, producing a flickering effect. This has been fixed.
Improvements
- Added a pre build step to ensure the Gradle build system is used.
- The build will fail if anything other than the OpenGLES3 graphics API is selected as the primary graphics API.
[1.0.0-preview.18] - 2018-07-17
Fixed
- Correctly detect whether the "ARCore Supported" checkbox is checked during player build in 2018.2+
- Updated for compatibility with Unity 2018.3 and later.
- Slinece unused variable warning.
- Plane tracking state would return a cached value if the session was not active. Now,
ARPlane.trackingState
will returnTrackingState.Unavailable
for every plane if the session is not active.
[1.0.0-preview.17] - 2018-07-03
- Fail the build if x86 or ARM 64 are selected as Target Architectures in the Android Player Settings.
[1.0.0-preview.16] - 2018-06-20
- Implemented TryGetColorCorrection, which provides light estimation information for RGB color correction.
[1.0.0-preview.15] - 2018-06-08
- Fixed lack of reporting timestamp to the
ARCameraFrameEventArgs
. - Do not include Android build pipeline when not on Android
- Add ArAnchor attachment support.
[1.0.0-preview.14] - 2018-06-07
- Fixed a crash on startup on some devices.
- Throw a build error instead of a warning if using Vulkan (ARCore requires an OpenGL context)
- Camera texture appears as soon as ARCore provides it, rather than waiting for tracking to be established.
- Fix typo in ARCoreSettings (
requirment
=>requirement
) - Improve usability of ARCoreSettings
- Remove CreateAssetMenu item -- provide one path to create the asset.
- xmldoc referred to ARKit instead of ARCore
- Make currentSettings public so users can override this easily.
- Improve ARCore build error message 'Error building Player: BuildFailedException: "ARCore Supported" (Player Settings > XR Settings) refers to the built-in ARCore support in Unity and conflicts with the ARCore package.') that doesn't explain that that the "ARCore package" is in fact the "ARCore XR Plugin" package. The package name should match from the package manager window.
[1.0.0-preview.13] - 2018-06-06
- Fixed a crash following ARCore apk install. There is a (rare) race condition when installing the ARCore apk, where ARCore will try to initialize before the apk is completely ready. This can still happen, but the app no longer crashes. When it does happen, the SDK will report that AR is supported and ready, but AR will not function properly until the app is restarted.
[1.0.0-preview.12] - 2018-06-01
- Add ARCoreSettings to Player Settings menu. Allows you to select whether ARCore is 'optional' or 'required'.
[1.0.0-preview.11] - 2018-05-24
- Add Editor as an include platform to ensure ARCore extensions work. This was preventing the availability check from running.
- Fix a bug which prevented the ARSession from restarting once destroyed.
[1.0.0-preview.10] - 2018-05-23
- Change dependency to
ARExtensions
preview.2
[1.0.0-preview.9] - 2018-05-09
Fixed
- Fixed crash when ARCore is not present or otherwise unable to initialize.
- Add support for availability check and apk install
[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.
Changed
- Only report display and projection matrices if we actually get them from ARCore.
[1.0.0-preview.5] - 2018-03-26
This is the first preview release of the ARCore package for multi-platform AR.
In this release we are shipping a working iteration of the ARCore package for Unity's native multi-platform AR support. Included in the package are dynamic libraries, configuration files, binaries and project files needed to adapt ARCore to the Unity multi-platform AR API.