How do we use the new Unified Coordinate Conversion features in visionOS 26?

The landing page for visionOS 26 mentions

The Unified Coordinate Conversion API makes moving views and entities between scenes straightforward — even between views and ARKit accessory anchors.

This WWDC session very briefly shows a single example of using this, but with no context. For example, they discuss a way to tell the distance between a Model3D and an entity in a RealityView. But they don't provide any details for how they are referencing the entity (bolts in the slide).

The session used the BOT-anist example project that we saw in visionOS 2, but the version on in the Sample Code library has not been updated with these examples.

I was able to put together a simple example where we can get the position of a window relative to the world origin. It even updates when the user recenters.

struct Lab080: View {

    @State private var posX: Float = 0
    @State private var posY: Float = 0
    @State private var posZ: Float = 0

    var body: some View {
        GeometryReader3D { geometry in

            VStack {
                Text("Unified Coordinate Conversion")
                    .font(.largeTitle)
                    .padding(24)

                VStack {
                    Text("X: \(posX)")
                    Text("Y: \(posY)")
                    Text("Z: \(posZ)")
                }
                .font(.title)
                .padding(24)

            }
            .onGeometryChange3D(for: Point3D.self) { proxy in try! proxy
                    .coordinateSpace3D()
                    .convert(value: Point3D.zero, to: .worldReference)
            } action: { old, new in
                posX = Float(new.x)
                posY = Float(new.y)
                posZ = Float(new.z)
            }
        }
    }
}

This is all that I've been able to figure out so far. What other features are included in this new Unified Coordinate Conversion?

Can we use this to get the position of one window relative to another? Can we use this to get the position of a view in a window relative to an entity in a RealityView, for example in a Volume or Immersive Space? What else can Unified Coordinate Conversion do?

Are there documentation pages that I'm missing? I'm not sure what to search for. Are there any Sample projects that use these features? Any additional information would be very helpful.

No one has any information on Unified Coordinate Conversion? It was good enough to appear in several WWDC slides, but isn't worth documenting or explaining?

  • Yes, this please. Thank you.
How do we use the new Unified Coordinate Conversion features in visionOS 26?
 
 
Q