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.
[0.4.3-exp.1] - 2024-12-10
Fixed
- Documentation fix for package versioning.
[0.4.2-exp.1] - 2024-12-09
Fixed
AndroidOpenXRCameraSubsystem
'sXRCameraSubsystemDescriptor
now correctly reports the features which are supported by the camera provider.
[0.4.1-exp.1] - 2024-12-05
Added
- Updated the
UnityXRTextureDescriptor
to include a new field of typeXRTextureType
to match a corresponding change in AR Foundation v6.1.0-pre.3.
Changed
- Update
AndroidXR
term toAndroid XR
. - Loading persistent anchors and persistent anchor IDs now check for completion each frame and time out after 10 seconds.
- Update the
ARCameraFeature
's UI name so that it renders asAndroid XR: AR Camera
in the OpenXR project settings window. - Changed manifest update behavior to include feature elements based on which OpenXR interaction profiles are enabled:
- Oculus Touch Contollrer Profile or Khronos Simple Controller Profile -
android.hardware.xr.controller
- Eye Gaze Interaction Profile -
android.hardware.xr.eye_tracking
- Hand Interaction Profile -
android.hardware.xr.hand_tracking
- Oculus Touch Contollrer Profile or Khronos Simple Controller Profile -
- Changed manifest update behavior to include the
android.software.xr.openxr
feature element in all builds.
Removed
- Removed the
Android XR Stylus Controller Profile
. Use the Oculus Touch Controller Profile instead.
Fixed
- Occlusion subsystem now correctly requests SCENE_UNDERSTANDING permission when it's the only SCENE_UNDERSTANDING-using subsystem enabled.
- Fixed the conversion of the pose in Occlusion frame to correctly convert from OpenXR format to Unity engine's format.
- Fixed documentation so that it recommends the
Oculus Touch Controller Profile
for input control. - Fixes the camera provider such that a light estimator is only created when light estimation data is requested by the AR camera manager.
- Resolved a deprecated field being used in the occlusion provider that resulted in a warning in the Unity console.
[0.4.0-exp.1] - 2024-11-14
Added
- Support for Occlusion. Occlusion helps virtual objects look more realistic by ensuring they are properly hidden behind or appear in front of real-world objects, as appropriate.
- URP Application Spacewarp: You will need Google's XR Extensions package installed to use Spacewarp.
Changed
- Update
AndroidXR
term toAndroid XR
. - Update the
ARCameraFeature
's UI name so that it renders asAndroid XR: AR Camera
in the OpenXR project settings window.
Fixed
- Fixed issue with TrySaveAnchorAsync so that it does not return a success when the returned guid is 0.
[0.3.0-exp.1] - 2024-10-03
Added
- Added a validation rule to AR Face, AR Camera, AR Raycast, AR Plane, and AR Anchor to ensure AR Session is present.
- Added missing permissions for Eye Tracked Foveated Rendering.
- Added the ability to save persistent anchors, load persistent anchors, and enumerate all saved persistent anchor IDs.
- Added
AndroidXRPerformanceMetrics
feature to enable access to performance metrics through XRStats.TryGetStat. - Added support for light estimation.
Fixed
ARFace
/XRFace
objects now correctly reportTrackingState.Tracking
when eyes are fully tracked,TrackingState.Limited
when only some tracking data is available, andTrackingState.None
when no tracking data is available.ARFaceFeature
objects now properly supports XR session transitions for begin, end, and input focus. Resources are acquired on the first update after a session begin, and released when the session ends. When focus is lost,ARFaceFeature
will no longer poll for updates.- Fixed support for raycasting against depth textures.
- Ensure that the environment blend mode is restored when an app is resumed after being paused.
- Fixed manifest editing behavior so that permission injections do not persist if their corresponding OpenXR feature is disabled between builds.
[0.2.0] - 2024-06-21
Added
- Add support for ARPlane.nativePtr API.
- Added validation rule to warn developers that pop-up windows will not work unless they enable the Resizeable Activity Android player setting. (In earlier versions of Unity, this setting was named Resizable Window.)
- Added validation rule that requires Application Entry Point set to GameActivity.
- Added "Optimize Buffer Discards (Vulkan)" option for OpenXR (nested under "AR Session" feature).
- Added support to enable Foveated Rendering when ARSession Feature is enabled. This require OpenXR plugin version 1.11.0 or newer.
- Added C# API for the Raycasting subsystem.
- Added Project Setup page to package documentation.
- Added Hand Tracking feature page to package documentation for detailing unique runtime-specific behavior on Android XR.
- Added Permissions page, and permissions information on the Plane Detection and Hand Tracking feature pages.
- Added support for spatial anchors and anchors attached to planes.
- Added support for the
XR_ANDROID_avatar_eyes
OpenXR extension via AR Foundation'sXRFaceSubsystem
. Refer to the manual page for more information.
Changed
- Unset
XR_COMPOSITION_LAYER_UNPREMULTIPLIED_ALPHA_BIT
on OpenXR projection layer to enable additive blending. - Updated documentation so that supported and unsupported features are listed in separate tables and fixed outdated details on the Introduction page:
- Added Session, Device tracking, Camera, and Plane detection as supported features.
- Updated requirements section to reflect current dependency versions.
- Updated linked OpenXR version to 1.0.34.
- Changed manifest editing behavior so that Android XR manifest changes only get applied if OpenXR is the active XR plug-in provider and at least one of the Android XR features are enabled.
- Changed the minimum Unity version from 2023.3 to 6000.0, reflecting the new version number of Unity 6. Refer to the official Unity 6 New Naming Convention announcement for more information.
- Changed minimum version of AR Foundation dependency from 6.0.0-pre.7 to 6.0.1.
- Changed manifest editing behavior so that
android.permission.SCENE_UNDERSTANDING
andandroid.permission.HAND_TRACKING
permission entries are added if their relevant OpenXR features are enabled. Your app will need to request these permissions, and your user must grant them to be able to use certain subsystems. Refer to the Permissions page for more information. - Updated plane subsystem so that it logs a warning on start up if the
android.permission.SCENE_UNDERSTANDING
permission has not been granted. - If the Android XR: AR Session feature is enabled and the XR Hands package is present on at least version 1.5.0-pre.2, gesture detection constants will be set to match the range of motion in hand-tracking for Android XR.
Fixed
- Fixed an issue where
AndroidOpenXRSessionSubsystem.sessionId
was always returning zero. - Fixed this plugin's build processor to correctly enable Android XR support when GameActivity is used as the Android application entry point.
[0.1.0] - 2023-02-28
- This is the first release of Unity OpenXR: Android XR <com.unity.xr.androidxr-openxr>.