docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    What's new in version 6.1

    New features

    Stereo occlusion

    • Added support for stereo occlusion, enabling providers for head-mounted displays (HMDs) to implement the XR occlusion subsystem. Refer to Occlusion for more information.

    Persistent anchor batch operations

    • Added APIs for batch save, load, and erase of persistent anchors. Refer to Persistent anchors for more information.

    Camera torch mode

    • Added an API that allows you to turn on the device's camera torch (flash). Refer to Camera torch mode (flash) for more information

    Deeper URP integration to support ARCore Vulkan

    • Added three new APIs to the XRSessionSubsystem and provider class which can be extended by AR session providers to handle Universal Render Pipeline rendering events signaled by the ARCommandBufferSupportRendererFeature when it is included in the renderer features list for the Universal Renderer asset:
      • XRSessionSubsystem.requiresCommandBuffer
      • XRSessionSubsystem.OnCommandBufferSupportEnabled
      • XRSessionSubsystem.OnCommandBufferExecute
    • Added a new ARCommandBufferSupportRendererFeature which calls the newly exposed XRSessionSubsystem APIs for integration into Universal Render Pipeline command buffer execution. Refer to Universal Render Pipeline for more information.

    XR Simulation improvements

    • Added support for simulated bounding box detection in XR Simulation via the SimulatedBoundingBox component.
    • Added support for EXIF data in SimulationCameraSubsystem via the SimulatedExifData component.
    • Added camera torch mode support to XR Simulation.

    Other API additions

    • Added the following values to StatusCode: ProviderUninitialized, ProviderNotStarted, and ValidationFailure. These error codes may be returned instead of StatusCode.UnknownError for more specific error information.
    • Added SupportedUtils for easier conversion between the types Supported and bool.
    • Added additional values provided by Apple RoomPlan to the BoundingBoxClassifications flags enum.

    Changes

    XR Simulation environments now visible in the Hierarchy window

    • Changed XR Simulation so that simulation environments are now visibile in the Hierarchy window, allowing you to inspect the environment while in Play mode.
    Warning

    There are many possible runtime modifications to XR Simulation environments that are not supported, such as instantiating or destroying GameObjects. As a best practice, use the Hierarchy window to debug XR Simulation environments, and don't modify environments while in Play mode.

    AR Occlusion Manager GameObject hierarchy

    • Changed the AR Occlusion Manager component to add [RequireComponent(typeof(Camera))]. Previously, it was logically required that this component was on the same GameObject as your XR Origin's Camera, but this wasn't as clearly enforced.

    AR Occlusion Manager frame timing

    • Changed the timing of AROcclusionManager.frameReceived so that this event is now invoked during Application.onBeforeRender instead of MonoBehaviour.Update. This change is required for compatibility with head-mounted-display (HMD) providers, and may result in improved precision of occlusion frames on all platforms.

    Size of XRTextureDescriptor

    • As part of the implementation for stereo occlusion support, we added a new textureType field to the XRTextureDescriptor struct. If you implement a provider for AR Foundation's camera or occlusion subystems, you should update your native plug-in(s) to match the new struct size.

    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.
      • ShaderKeywords to XRShaderKeywords
      • XRCameraSubsystem.GetShaderKeywords to XRCameraSubsystem.GetShaderKeywords2
      • XRCameraSubsystem.Provider.GetShaderKeywords to XRCameraSubsystem.Provider.GetShaderKeywords2
      • XROcclusionSubsystem.GetShaderKeywords to XROcclusionSubsystem.GetShaderKeywords2
      • XROcclusionSubsystem.Provider.GetShaderKeywords to XROcclusinSubsystem.Provider.GetShaderKeywords2
      • ARCameraFrameEventArgs.disabledShaderKeywords to ARCameraFrameEventArgs.shaderKeywords
      • ARCameraFrameEventArgs.enabledShaderKeywords to ARCameraFrameEventArgs.shaderKeywords
      • AROcclusionFrameEventArgs.disabledShaderKeywords to AROcclusionFrameEventArgs.shaderKeywords
      • AROcclusionFrameEventArgs.enabledShaderKeywords to AROcclusionFrameEventArgs.shaderKeywords

    For a full list of changes in this version including backwards-compatible bugfixes, refer to the package changelog.

    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)