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.
[5.0.2] - 2022-09-11
[5.0.0-pre.13] - 2022-06-28
[5.0.0-pre.12] - 2022-05-19
- Deprecation dialog will now be supressed in batch mode, as it cannot be clicked.
[5.0.0-pre.9] - 2022-03-01
[5.0.0-pre.8] - 2022-02-09
[5.0.0-pre.7] - 2021-12-10
[5.0.0-pre.6] - 2021-11-17
[5.0.0-pre.5] - 2021-10-28
com.unity.xr.arsubsystemshas been merged into
com.unity.xr.arfoundation. This will be an empty package acting as a placeholder to provide back compatibility. See the AR Foundation changelog for more details.
- The minimum Unity version for this package is now 2021.2.
- The user preference for "Don't warn me again" in the deprecation warning dialog, is saved on a per-project basis.
- Fixed the deprecation warning dialog where an alternate blank dialog will appear alongside the main message dialog.
[4.2.0] - 2021-08-11
[4.2.0-pre.12] - 2021-07-08
[4.2.0-pre.10] - 2021-06-28
[4.2.0-pre.9] - 2021-05-27
[4.2.0-pre.8] - 2021-05-20
[4.2.0-pre.7] - 2021-05-13
- Added an API to request temporal smoothing of the environment depth image for providers that support this feature.
- Added an ARBuildProcessor utility class to prepare AR assets, such as image and object tracking libraries, for use in asset bundles. This should be used before invoking BuildPipeline.BuildAssetBundles.
- Added a new TrackableType.Depth enum flag to report raycast hits against the depth map.
- Deprecated TrackableType.All enum as it does not include all types. Changing the value of this enum would be a breaking change, so a new value TrackableType.AllTypes has been introduced.
- Removed exception from XREnvironmentProbeSubsystem.RemoveEnvironmentProbe with the message "cannot remove environment probes when environment probe system is not running". The exception would be thrown when the method was called and the subsystem was not running. Now, the method returns
falseif the subsystem is not running. It was common to see this exception when unloading a scene, since the subsystems might have been destroyed before the environment probes were removed.
[4.2.0-pre.5] - 2021-04-07
[4.2.0-pre.4] - 2021-03-19
- Clarified documentation for XRCameraSubsystem.TryGetInstrincis.
[4.2.0-pre.3] - 2021-03-15
- Deprecated the TextureImporterInternals in 2021.2. This provided access to an internal method
GetSourceTextureWidthAndHeightto get the source texture dimensions. The internal method is public in 2021.2 and should be used instead of the
- Exclude tests from scripting API docs.
[4.2.0-pre.2] - 2021-03-03
- The runtime image data associated with an XRReferenceImageLibrary is now stored directly in the asset. This allows novel reference image libraries to be downloaded by an app that was not originally built with that library, e.g., as an asset bundle.
- A new reference object can be added to a reference object library at runtime.
- The XROcclusionSubsystemDescriptor provides a means to query for the capabilities of an XROcclusionSubsystem. Previously, these capabilities were booleans, but some platforms may take a few frames to determine a capability. Those
boolproperties have been deprecated in favor of properties that return a Supported state, which includes a
Supported.Unknownstate to indicate support for the feature or capability is not yet known.
- Updated documentation for XROcclusionSubsystemDescriptor with notes describing the limitations of feature support detection.
- The minimum Unity version for this package is now 2020.3.
[4.1.3] - 2021-01-05
- Removed the
CONTRIBUTIONS.mdfile as this package does not accept contributions.
[4.1.1] - 2020-11-09
- Released package for Unity 2021.1
[4.1.0-preview.13] - 2020-11-09
[4.1.0-preview.12] - 2020-11-02
- Added a new NotTrackingReason: CameraUnavailable.
[4.1.0-preview.11] - 2020-10-22
- Added a new method ScheduleAddImageWithValidationJob to the MutableRuntimeReferenceImageLibrary which adds new reference images to a reference library only after validating that the new reference image is suitable for image tracking. The new method returns a new type AddReferenceImageJobState which you can use to determine whether the image was successfully added.
[4.1.0-preview.10] - 2020-10-12
- Each subsystem's "provider" is now accessible by derived classes via a protected property
[4.1.0-preview.9] - 2020-09-25
- Updating dependency on com.unity.subsystemregistration to 1.1.0.
- Fix documentation links.
- Fix XRReferenceImageLibraries when duplicated from an existing reference image library. Reference image libraries are assigned unique GUIDs on creation, so if you created one by duplicating an existing library, they would have identical GUIDs. The actual reference image library used at runtime was not well defined in this case.
[4.1.0-preview.7] - 2020-08-26
- Fixed an issue which could throw an exception when subsystems were run in the Editor (e.g., for simulation or remoting). This could happen when a trackable (e.g., a plane or anchor) was removed. This did not affect Player builds (i.e., on device). This is an example of the exception and associated callstack:
NullReferenceException: Object reference not set to an instance of an object Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow (Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle) Unity.Collections.NativeArray`1[T].Copy (Unity.Collections.NativeArray`1[T] src, Unity.Collections.NativeArray`1[T] dst) Unity.Collections.NativeArray`1[T].CopyFrom (Unity.Collections.NativeArray`1[T] array) UnityEngine.XR.ARSubsystems.TrackableChanges`1[T]..ctor (System.Void* addedPtr, System.Int32 addedCount, System.Void* updatedPtr, System.Int32 updatedCount, System.Void* removedPtr, System.Int32 removedCount, UnityEngine.XR.ARSubsystems.XRReferencePoint defaultT, System.Int32 stride, Unity.Collections.Allocator allocator) ...
[4.1.0-preview.6] - 2020-07-27
XRCameraSubsystemDescriptor. This value indicates whether or not color correction values for ambient color are available on the current device.
- Fixed script updater attribute which could result in an infinite loop during automatic script updates.
[4.1.0-preview.5] - 2020-07-16
- Minor correction in a debug warning message related to shaders in the build pipeline.
- Updated documentation.
- Fixed xmldoc errors.
[4.1.0-preview.3] - 2020-07-09
- Minor documentation fixes.
[4.1.0-preview.2] - 2020-06-24
- Adding documentation for the meshing and occlusion subsystems.
[4.1.0-preview.1] - 2020-06-23
- Add support for environment depth through the XROcclusionSubsystem.
- Minimum Unity version for this package is now 2019.4.
[4.0.1] - 2020-05-27
- Added a method to XRCameraSubsystem that allows optional, platform-specific code to be called immediately before the camera background is rendered.
- Added support for camera grain to
- Added depth field and dimension field to
XRTextureDescriptor. Depth indicates the size of the depth dimension in a 3D texture, and dimension indicates the type of texture. See the TextureDimension docs for more details.
- Added meshing-related features to
- Added point cloud feature to
XROcclusionSubsystem.TryAcquireHumanDepthCpuImagewhich provides access to the raw texture data on the CPU.
XRCpuImage. See the ARFoundation migration guide for more details.
[4.0.0-preview.3] - 2020-05-04
- Add support for tracked raycasts. A tracked raycast is repeated and updated automatically. See XRRaycastSubsystem.TryAddRaycast.
- Added a constructor to create a TrackableId from parsing a string.
[4.0.0-preview.1] - 2020-02-26
- Several subsystem properties have been broken into 'current' and 'requested' properties. See the ARFoundation Migration Guide for more details.
[3.1.3] - 2020-04-13
- Adding the API updater files required to update from
- Adding new methods to the
XRCameraSubsystemto query the list of enabled & disabled material keywords for the shader.
[3.1.0-preview.8] - 2020-03-12
[3.1.0-preview.7] - 2020-02-27
[3.1.0-preview.6] - 2020-02-18
- Added fix to
nativeConfigurationHandleto equality checks between
[3.1.0-preview.4] - 2020-01-08
- Fixes an issue with the 2D joint positions from human body tracking.
- Fixes an issue where the equality comparison for XRCameraConfiguration did not take
[3.1.0-preview.2] - 2019-12-06
- Added support for HDR light estimation mode to
- Added additional field to
XRCameraConfigurationto expose a handle used to get the native configuration. This handle is platform specific in it's implementation.
- Added script updater support for facilitating the rename of Reference Points to Anchors
- Updated documentation links to point to the 3.1 version of the documentation.
[3.1.0-preview.1] - 2019-11-21
[3.0.2] - 2020-03-18
- Fixed "X" (remove reference image) icon in the
[3.0.0] - 2019-11-05
XROcclusionSubsystemfor managing occlusion textures, such as the human segmentation stencil and human segmentation depth on some iOS devices.
- Renaming the concept of
Anchors. The Unity script updater should convert any references to
XRReferencePointSubsystemDescriptorthe next time the project is loaded into the Editor.
[3.0.0-preview.4] - 2019-10-22
TrySetFocusModeto a property called
focusMode, enabling providers to implement a getter as well as a setter.
BoundedPlanewhich provides contextual information such as
NativeArray.ToString()to build its string, which produced a string with a lot of irrelevant information. Now, it just displays the length of the array, row stride, and pixel stride of the plane.
[3.0.0-preview.3] - 2019-09-26
- Added an input device layout for the Input System, for use by individual providers.
- Updated the interface for all subsystems to apply a consistent pattern across all subsystems. This affects subsystem implementations (such as ARCore and ARKit) but should not affect consumers of those subsystems.
supportedproperty on the
XRFaceSubsystem. Providers (such as ARKit) are expected not to register themselves if they are not supported.
supportedproperty on the
XREnvironmentProbeSubsystem. Providers (such as ARKit) are expected not to register themselves if they are not supported.
[3.0.0-preview.2] - 2019-09-05
- Updated package version to 3.0.0-preview.2 for consistency with other AR-related packages.
[3.0.0-preview.1] - 2019-08-21
- Add support for reference image libraries that are modifiable at runtime. For platforms that support it, this allows you to add new reference images at runtime.
[2.2.0-preview.4] - 2019-07-30
- Add support for eye tracking.
- Added an XRParticipantSubsystem which can track users in a multi-user collaborative session.
- Add support for exposure duration
- Add support for exposure offset
- Add support for Lightweight Render Pipeline and Universal Render Pipeline.
- Add support for height scale estimatation for the 3D human body subsystem.
[2.2.0-preview.3] - 2019-07-16
- Add support for
- Add support for getting the ambient light intensity in lumens.
- Add functionality to the
XRSessionSubsystemto enable synchronizing the Unity frame with the AR session update. See
XRCameraSubsystem. This fixes an issue when running on a provider that does not set the default focus mode to
[2.2.0-preview.2] - 2019-06-05
- Adding support for ARKit 3 functionality: Human pose estimation, human segmentation images, session collaboration, multiple face tracking, and tracking a face (with front camera) while in world tracking (with rear camera).
[2.1.0-preview.2] - 2019-05-16
- Fix documentation links.
[2.1.0-preview.1] - 2019-05-06
- Add an image tracking subsystem.
- Add an environment probe subsystem.
- Add a face tracking subystem.
- Add an object tracking subsystem for detecting previously scanned 3D objects.
- This is the first release of *Unity Package com.unity.xr.subsystems.
- 2019.2 verified release