com.unity.xr.hands 1.5.0

com.unity.xr.hands

Source docs
Notes: processedReleased September 27, 2024

Browse versions

PreviousNext

Unity Compatibility

Minimum Unity: 2021.3

Features

  • Added `XRCommonHandGestures` and surfaced related data from the OpenXR Hand Interaction Profile extension.
  • Added public `subsystem` property to `XRHandTrackingEvents` to let users get the `XRHandSubsystem` that is the source of the hand tracking data. Also added public `subsystem` property to `XRHandJointsUpdatedEventArgs` so it is available in the `XRHandTrackingEvents.jointsUpdated` event callback.
  • Added support for a new `XRHandJointTrackingState.HighFidelityPose` flag to the XR Hands Subsystem.
  • - Added support for the HighFidelityPose tracking flag to the OpenXRHandProvider.
  • - Updated hand visualization sample to color debug joint cubes based on tracking fidelity: opaque white for joints which have a pose and are high fidelity; translucent red for joints which have a pose and are not high fidelity.
  • Added OpenXR callbacks `HandTracking.subsystemCreated` and `HandTracking.destroyingSubsystem` for lifecycle response.
  • Added OpenXR APIs `HandTracking.automaticallyInitializeSubsystem` and `HandTracking.EnsureSubsystemInitialized` to allow for delayed initialization of the `XRHandSubsystem`. To disable automatic creation in time, set `HandTracking.automaticallyInitializeSubsystem` to `false` in a `static` method decorated with `[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]`, then call `HandTracking.EnsureSubsystemInitialized` when ready.

📈 Improvements

  • Allows for ignoring tip-most knuckle when calculating full curl when the `XRFingerShapeConfiguration`'s `minimumFullCurlDegrees3` or `maximumFullCurlDegrees3` is non-positive.

🔧 Bug Fixes

  • Fixed reference direction when using `XRHandUserRelativeDirection.NoseDirection` for gesture detection.
  • Fixed runtime invalidation, which resulted in crashes on some OpenXR runtimes. Runtime is invalidated when the `XrInstance` is destroyed.
  • Fixed threshold-checking on gesture conditions to allow for the full range in `XRFingerShapeCondition`.
  • `XRCommonHandGestures` data retrieval no longer GC.Allocs.
  • Updated app space change behavior for XR provider to no longer destroy hand trackers only to recreate them the next update.
  • Fixed issue where XrHands would try to update hand joints with an uninitialized XrTime value of XR\_INFINITE\_DURATION.
  • Fixed an issue with packaging that prevented MacOS compatible libraries from being included as part of the package.