What's new in version 6.6
This release includes the following significant changes:
XRSubsystem
- Added a new XRSubsystem base class that enables providers to incorporate permissions and asynchronous resource creation into their
Startlogic. If you are the owner of a subsystem or provider type, Unity recommends that you inherit the new base class instead ofSubsystemWithProvider. - Changed
SubsystemLifecycleManager.Startlogic to be compatible with the newXRSubsystembase class. This is a backwards-compatible change, so Manager components still supportSubsystemWithProvideras the subsystem base class as well. - Reverted a previous change to
SubsystemLifecycleManager.OnEnable, which allowed the manager component to poll for subsystems that weren't synchronously available. With the addition ofXRSubsystem, all providers are now expected to create subsystems synchronously duringXRLoader.Initialize.
Other API additions
- Added a
ToStringoverride forARMarker. - Added
XRRaycastSubsystemDescriptor.Cinfo.supportedTrackableTypesDelegate, which allows a raycast provider to determine at runtime which trackable types it supports. - Added
XRAnchorSubsystemDescriptor.Cinfo.supportsTrackableAttachmentsDelegate, aFunc<bool>delegate that allows providers to evaluate trackable attachment support dynamically at runtime.
UI changes
- Added support for Apple visionOS to the Build AssetBundles window (Assets > AR Foundation > Build AssetBundles).
Deprecations
- Deprecated
XRPlaneSubsystem.CreateOrResizeNativeArrayIfNecessary<T>andXRPlaneSubsystem.Provider.CreateOrResizeNativeArrayIfNecessary<T>. Use NativeArrayUtils instead. - Deprecated
XRRaycastSubsystemDescriptor.Cinfo.supportedTrackableTypes. UseXRRaycastSubsystemDescriptor.Cinfo.supportedTrackableTypesDelegateinstead. - Deprecated
XRAnchorSubsystemDescriptor.Cinfo.supportsTrackableAttachments. UsesupportsTrackableAttachmentsDelegateinstead.
For a full list of changes in this version including backwards-compatible bugfixes, refer to the package changelog.