com.unity.xr.arfoundation 6.1.0-pre.3
Source docsNotes: processedReleased November 15, 2024
Unity Compatibility
Minimum Unity: 6000.0
Package Dependencies
- com.unity.editorcoroutines (1.0.0)
- com.unity.inputsystem (1.6.3)
- com.unity.mathematics (1.2.6)
- com.unity.modules.particlesystem (1.0.0)
- com.unity.modules.ui (1.0.0)
- com.unity.modules.unityanalytics (1.0.0)
- com.unity.modules.unitywebrequest (1.0.0)
- com.unity.ugui (2.0.0)
- com.unity.xr.core-utils (2.3.0)
- com.unity.xr.management (4.4.0)
✨ Features
- Added `StatusCode.ProviderUninitialized` as an error code to represent an uninitialized state. Methods that return [XRResultStatus](xref:UnityEngine.XR.ARSubsystems.XRResultStatus) can use this more specific error code instead of `StatusCode.UnknownError` when the provider is uninitialized.
- Added [SupportedUtils](xref:UnityEngine.XR.ARSubsystems.SupportedUtils) for easier conversion between the types `Supported` and `bool`.
- Added an API that allows you to turn on the device's camera torch (flash). Refer to [Camera torch mode (flash)](xref:arfoundation-camera-torch-mode) for more information
- Added support for stereo occlusion, enabling HMD providers to implement the XR occlusion subsystem:
- - Added [XRTextureType](xref:UnityEngine.XR.ARSubsystems.XRTextureType) enum with extension methods to convert from [TextureDimension](xref:UnityEngine.Rendering.TextureDimension).
- - Added [XRTextureDescriptor.textureType](xref:UnityEngine.XR.ARSubsystems.XRTextureDescriptor.textureType) property to get a texture descriptor's type.
- - Added the following structs to represent data used for occlusion: [XRFov](xref:UnityEngine.XR.ARSubsystems.XRFov), [XRNearFarPlanes](xref:UnityEngine.XR.ARSubsystems.XRNearFarPlanes), [XROcclusionFrame](xref:UnityEngine.XR.ARSubsystems.XROcclusionFrame), and [ARGpuTexture](xref:UnityEngine.XR.ARFoundation.ARGpuTexture).
- - Added the following members to [XROcclusionSubsystem](xref:UnityEngine.XR.ARSubsystems.XROcclusionSubsystem): `depthViewProjectionMatricesPropertyId` and `TryGetFrame(Allocator, out XROcclusionFrame)`.
- - Added more data to [AROcclusionFrameEventArgs](xref:UnityEngine.XR.ARFoundation.AROcclusionFrameEventArgs).
- - Added the [ARShaderOcclusion](xref:arfoundation-shader-occlusion) component to write depth textures to global shader memory.
📈 Improvements
- Changed the type of `XRResultStatus` from `struct` to `readonly struct`.
- Changed the Simulation Environment to be visibile in the scene hierarchy.
- ### Deprecated
- Deprecated and replaced the following APIs:
- - `XRTextureDescriptor.dimension` to `XRTextureDescriptor.textureType`
- - `XRTextureDescriptor` constructor with `dimension` parameter to `XRTextureType` parameter.
- - `AROcclusionFrameEventArgs.propertyNameIds` to `AROcclusionFrameEventArgs.gpuTextures`.
- - `AROcclusionFrameEventArgs.textures` to `AROcclusionFrameEventArgs.gpuTextures`.
- - `AROcclusionManager.environmentDepthConfidenceTexture` to `AROcclusionManager.TryGetEnvironmentDepthConfidenceTexture`.
- - `AROcclusionManager.environmentDepthTexture` to `AROcclusionManager.TryGetEnvironmentDepthTexture`.
🔧 Bug Fixes
- Fixed XR Simulation occlusion on Apple silicon Macs so that occlusion now renders correctly regardless of whether URP Render Graph is enabled or disabled. (The previous fix for this issue in 6.1.0-pre.1 was later determined to be insufficient.)
- Fixed the XR Simulation point clouds implementation so that it no longer logs an error when the AR Point Cloud Manager component is disabled and then re-enabled. (ARFB-487)
