Contents

johnhaney/arunderstanding

[<img src="https://img.youtube.com/vi/f5Rdk0a5lB4/hqdefault.jpg" width="600" height="300"

Version Highlights

Going forward, the version of this Swift Package will match the most recent OS version supported. We will endeavor to maintain forward and backward interoperability.

| Xcode Version | ARUnderstanding Version | Description | | ------------- | ----------------------- | ----------- | | 16 | 18.0.0 | supports pre-26 versions, with forward compatibility to process anchors captured on visionOS 26 | | | 18.0.2 | link this Swift Package against all Apple platforms, including watchOS | | 26 | 26.0.0 | adds functionality introduced in visionOS 26, iOS 26, macOS 26, and tvOS 26 |

ARUnderstandingSession

With ARUnderstanding 2.0, the whole infrastructure of how ARUnderstanding runs will move to run on top of one ARUnderstandingSession. This will ensure that you can safely and easily add the providers you want dynamically and ARUnderstanding will update the ARUnderstandingSession as needed to adapt to what your app is using.

You can extend ARUnderstandingInput to feed in data from another device.

You can extend ARUnderstandingOutput to store, forward, or transform the anchors coming from the ARUnderstandingSession.

ARUnderstandingInput is implemented by:

AnchorPlayback - for playing back anchors saved in a file ARUnderstandingLiveInput - for managing the capture of ARKit anchors from the device Supported ARKit Providers - for wrapping the anchors from the device into the ARUnderstandingSession

ARUnderstandingOutput is implemented by:

AnchorRecorder - for capturing the stream of anchors and saving to a file ARUnderstandingVisualizer - for displaying visual entities in a RealityView representing the anchors

Why use ARUnderstanding when SpatialTrackingSession exists?

SpatialTrackingSession is a great simplified way to access anchors and discover features avialable in the space around your users. This is a great API for many use cases and it's a great place to start.

ARUnderstanding is great for when you need "see" all the anchors of a given type and do something which takes all of them into account. For example, if you need to see all the tables in a room and then you might decide to place content on some or all of them.

Package Metadata

Repository: johnhaney/arunderstanding

Default branch: main

README: README.md