"supportsHandTracking" is always true when the API layer is enabled
rblenkinsopp opened this issue · 1 comments
XrSystemHandTrackingPropertiesEXT.supportsHandTracking
will always return XR_TRUE
when this API layer is enabled, regardless of if a device is connected. This is the correct behaviour as-per the OpenXR specification, but may not be desirable. An application may enable a hand-tracking interface based on this flag, but it may be unusable without a tracker, leading to a poor user experience.
OpenXR currently has no way to indicate a hot-pluggable device, with the closest being XrHandJointLocationsEXT.isActive
which indicates if hand-tracking information is currently available for the requested hand-tracker. However this only indicates true if a hand is actively being tracked.
Now that 1.1.0 has been released, this behaviour has been changed so that supportsHandTracking
is only true when the Ultraleap Service is installed and running. This is irrespective of if a hand-tracking device is physically connected or not to make the behaviour more consistent.