Hey there! Sorry for the late notice on this one, but we ended up shipping a fix for this issue in the 1.2.3 version of com.unity.xr.visionos
. Essentially, as we all came to realize in this and other threads, visionOS reports is_tracked = false
for joints that are not visible, but for which there still exists up-to-date pose data. We now always report every joint as being tracked as far as XR Hands is concerned, as long as the “hand anchor” is tracked, meaning at least the wrist is visible.
This should make gesture detection and general interactions more reliable as the transforms for finger joints will still exist and move naturally even as they are occluded. There is also a new VisionOSHandExtensions
API to query the is_tracked
state in case you want to know whether the joint is occluded. The updated sample uses this to swap in a semi-transparent prefab for occluded joints to show a visible difference between the two.
Thanks again for reporting this issue, and please let us know if you were able to update to the latest version of the packages and try it out.