Determining if an ObjectAnchor is currently observed

I'm writing code using ObjectAnchor for Vision OS. If an object is tracked, and then becomes not visible (either because the user looked in a different direction, or because the tracked object was occluded by another object), it is still tracked and you get anchor updates (e.g., object permanence).

For my application, it would be very helpful if I could determine if the object is currently being observed, or it is not currently observed and just assumed to be in the same location as seen previously.

ObjectAnchor.isTracked just seems to indicate whether it is getting anchor updates. I don't see anything in the ObjectAnchor or AnchorUpdate that would allow me to determine if the object is currently observed. Does anyone know of a way to do this, or would this be a feature request?

Hi @William Pugh,

It sounds like you're asking to know when the user is looking at an object. If that's the case, please file an Enhancement Request at https://feedbackassistant.apple.com. Right now, we're not exposing that information in the case of user privacy, but always looking for use cases for new APIs. If you do file one, please paste the FB number here. Thank you!

Hi,

I'm working with William on this project, so I can provide a little more detail.

We're trying to use object tracking to track handheld objects, but are running into issues where grabbing an object can sometimes occlude it, causing it to no longer be tracked. If a user picks up an object and moves it while occluding it, the object tracker will still report the object as being in the original spot, without giving any indication that it is no longer actually seeing it.

We were considering getting around this by adding a check whereby if an object loses tracking while being close to the user's hand, it is assumed to be grabbed, and the digital visual can be parented to the hand; however, there is no way to actually tell whether an object has been occluded because the tracker just keeps sending updates on the last-seen position.

In summary, it would be useful to be able to know when an object is occluded/out of view, because then the app knows the reported position may not be accurate and can take measures to ensure the digital representation is not too far removed from the real one.

I have opened a feedback post here: FB15752077 (Object Tracking should indicate when a tracked object is occluded / not currently in view)

Determining if an ObjectAnchor is currently observed
 
 
Q