uid |
---|
meta-openxr-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.
- Added a validation rule to warn you that soft shadows can negatively affect performance for Meta Quest.
- Added Scene setup documentation to clarify best practices for requesting Android system permissions.
- Added support for running scenes in the editor via Quest Link.
- Added a public class MetaOpenXRFeature as the new base class for OpenXR features in this package.
- Added the Meta Quest Boundary Visibility feature, which enables you to suppress the visibility of the boundary so users can move freely with Passthrough enabled. Refer to Boundary visibility for more information.
- Added support for Occlusion.
- Changed the Meta Quest: Bounding boxes, Meta Quest: Anchors, Meta Quest: Meshing, and Meta Quest: Planes features implementation to replace the use of
XR_FB_spatial_entity_query
andXR_FB_spatial_entity_storage
with newer OpenXR extensions from Meta. This is a backwards-compatible change with no effect on your code. - Changed the Meta Quest: Camera (Passthrough) feature to no longer enable the
XR_FB_composition_layer_alpha_blend
OpenXR extension. This is a backwards-compatible change with no effect on your code. - Changed the severity level of validation rules for features that depend on Meta Quest: Session from Warning to Error. These features are unusable at runtime if Meta Quest: Session is not enabled, so Error is the appropriate severity level for the validation rules.
- Changed the dependency version of XR Core Utilities from 2.4.0 to 2.5.1.
- Removed a validation rule that warned you if your currently open scene did not have an
ARCameraManager
component while the Meta Quest: Camera (Passthrough) feature was enabled. Too often this warning was a false positive for valid project setups, so it wasn't helpful.
- Fixed an issue with BoundedPlane.nativePtr, XRBoundingBox.nativePtr, and XRAnchor.nativePtr so they now return a pointer to a struct with a version number and a pointer to the
XrSpace
handle of their respective trackable type. Refer to Plane native pointer, Bounding box native pointer, and Anchor native pointer for more information. - Fixed Android Manifest setup for builds so that if your app uses Bounding Boxes or Meshing but not Planes, your app's Android Manifest will now correctly declare the
com.oculus.permission.USE_SCENE
permission. - Fixed the Meta Quest: Display Utilities feature so that it works correctly even when Meta Quest: Session is disabled. (MOXRB-70)
- Fixed the Meta Quest: Anchors and Meta Quest: Passthrough features so they gracefully fail to create their subsystems if the OpenXR runtime does not support the required system properties.
- Added support for saving anchors, loading anchors, and erasing anchors introduced in AR Foundation 6.
- Added explicit dependencies for the XR Plug-in Management and XR Core Utils packages, which were previously implicit.
- Changed the
MetaOpenXRPlaneSubsystem
to correctly apply the PlaneClassifications.InvisibleWallFace semantic label for invisible wall faces. - Changed the plane and bounding box subsystems to no longer attempt to request the Android system permission
com.oculus.permission.USE_SCENE
on your app's behalf. To use these features with OpenXR Plug-in version 1.11.0 or newer, your app must request this permission. Refer to Spatial Data Permission (Meta Quest Developer Center) to learn how to request this permission. - Changed minimum version of AR Foundation dependency from 6.0.0-pre.7 to 6.0.1.
- Changed minimum Unity Editor version from 2023.3 to 6000.0 as required by AR Foundation 6.0.1.
- Changed minimum version of OpenXR Plug-in dependency from 1.9.1 to 1.10.0.
- Fixed an issue where trackable poses would fail to update when the OpenXR runtime returned valid but untracked data.
- Fixed an issue where planes that should be classified as
WallArt
were classified asOther
.
- Added support for the ARPlane.classifications data type introduced in AR Foundation 6.0, including new classification values and support for planes with multiple classifications.
- Added an API for the tracking of 3D bounding boxes. Refer to Bounding boxes for more information.
- Added support for the Asynchronous TryAddAnchor API introduced in AR Foundation 6.
- Added XRResultStatusExtensions, extending the XRResultStatus type to support conversion to XrResult.
- Added support for
NotAxisAligned
plane detection mode introduced in AR Foundation 6.0. - Added support for the Meshing subsystem.
- Changed the AR Foundation dependency version to 6.0.0-pre.7.
- Changed the minimum version of Unity to 2023.3, as required by AR Foundation 6.0.0-pre.7.
- Changed the behavior of
MetaOpenXRSessionSubsystem.sessionId
to now return a non-empty, unique Guid value per Meta OpenXR session. You can access the session id usingXRSessionSubsystem.sessionId
. - Changed the way the Android Manifest is written to override the
IAndroidManifestRequirementProvider
interface so that direct XML manipulation is not necessary. - Changed the names of the Meta Quest features in the Editor to remove the "AR" prefix.
- Changed documentation to indicate that Meshing is now a supported feature.
- Fixed an issue where the subsystem descriptor for
MetaOpenXRPlaneSubsystem
incorrectly stated that horizontal plane detection, vertical plane detection, and classification were unsupported. These features have all been supported since the 1.0 release, and the subsystem descriptor now returns the correct values. - Fixed a very rare issue where plane detection could possibly fail to update planes due to an unhandled error.
- Updated documentation to reflect changes to the Room Setup process including it being renamed to Space Setup and relocated to Settings > Physical Space
- Fixed an issue where Meta's OpenXR runtime would log a warning every frame for each
ARPlane
in the scene regarding the use of an older version of their OpenXR API for semantic labels. - Fixed documentation links for Meta-OpenXR features in
Project Settings
>XR Plug-in Management
>OpenXR
.
- Added new extension methods for the
XRDisplaySubsystem
to support getting the supported display refresh rates and requesting a display refresh rate. Refer to Meta Quest Display Utilities for more information. - Added documentation for recommended settings when using Universal Render Pipeline.
- Renamed the AR features in the
Meta Quest
OpenXR feature group for brevity and consistency. - Changed the
ARPlaneFeature
implementation to request the Android permissioncom.oculus.permission.USE_SCENE
on Start on OpenXR runtime versions 1.0.31 and newer, as required by the OpenXR specification. - Changed the
Unity.XR.MetaOpenXR
runtime assembly to only be included on Android and Editor platforms. This was always intended, but previously the assembly had been included on all platforms.
- Fixed an issue where the
ARAnchorFeature
enabled more OpenXR extensions than were necessary for theXRAnchorSubsystem
to function correctly.
- Added
com.oculus.permission.USE_SCENE
permission to the manifest which will show a permission dialog to get user consent if scene data such as planes is requested. - Added support for
XRSessionSubsystem
'strackingState
andnotTrackingReason
. - Added support for Scene capture.
- Added validation rules. Go to Project Settings > XR Plug-in Management > Validation Rules to check if your project settings match the validation rules.
- Split AR Foundation: Meta Feature into separate OpenXR Features, one for each AR Foundation subsystem. Go to Project Settings > XR Plug-in Management > OpenXR to enable or disable these features.
- Changed minimum Unity version to 2022.3
- Updated linked OpenXR version to 1.0.28 from 1.0.25.
- Changed the package name from Meta OpenXR Feature to Unity OpenXR: Meta.
- Changed blending factors for blending Unity content over passthrough from [source alpha, 1 - source alpha] to [1, 1 - source alpha] to support rendering additive materials.
- Fixed Session availability API to properly check that an OpenXR session instance exists.
- Fixed math operations for comparing structs with single-precision values.
- Fixed an issue where it was possible to incorrectly remove or update planes before they were added in some uncommon situations. This resulted in an
InvalidOperationException
in AR Foundation that is now no longer thrown.
- Added support for getting plane boundary vertices via XRPlaneSubsystem.GetBoundary.
- Added support for getting plane alignment via ARPlane.alignment as well as planeAlignmentThreshold. Refer to Plane alignment for more information.
- Added support for plane classification.
- Added support for planes to be updated and removed.
- Added a custom Editor for ARCameraManager to clarify that its serialized properties have no effect on Meta Passthrough.
- Added a custom Editor for ARCameraBackground to clarify that it has no effect on Meta Quest devices.
- Added support for requestedDetectionMode to filter horizontal and vertical planes.
- Changed the
trackableId
property of planes to be backed by OpenXR'suuid
field, instead of a monotonically increasing counter. - Changed the display name of the AR Foundation Meta Quest feature.
- Grouped the Meta Quest OpenXR features in an OpenXR feature group.
- Passthrough layer is now composited behind AR content rather than alpha blended in front of it. This fixes an issue where AR opaques always appeared semi-transparent.
- Fixed an issue where the
trackingState
property of planes could be incorrectly reported in some rare cases. - Fixed an issue where the center of a plane in plane space was incorrectly reported as a value other than (0, 0).
- Fixed an issue where
ARPlane
s were not removed if theRedo Walls
action or theClear Room Set Up
action was performed through the Meta Quest menu.
- This is the first release of Meta OpenXR Plugin <com.unity.xr.meta-openxr>.