View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Videos

Open Menu Close Menu
  • Collections
  • All Videos
  • About

More Videos

  • About
  • Summary
  • Code
  • Explore enhancements to visionOS object tracking

    Find out how visionOS is advancing object tracking and spatial accessory input. Discover new ways to track moving and handheld objects, allowing you to bridge the physical and digital worlds. Learn about new supported classes of spatial accessories and what is needed to build your own custom accessories to enable unique interaction models in your apps.

    Chapters

    • 0:00 - Introduction
    • 2:20 - Object tracking
    • 7:20 - Spatial accessories
    • 7:47 - Creating a spatial accessory
    • 11:48 - Plug-and-play accessories
    • 12:22 - Implementing in your app
    • 13:03 - Next steps

    Resources

    • Working with generic spatial accessories
    • Preparing spatial accessories for tracking in your visionOS app
    • Accessory design guideline for Apple devices
    • Exploring object tracking with ARKit
      • HD Video
      • SD Video

    Related Videos

    WWDC25

    • Explore spatial accessory input on visionOS

    WWDC24

    • Explore object tracking for visionOS
  • Search this video…
    • 3:50 - Enable high frame rate tracking

      // Enable high frame rate tracking
      
      // Create reference object configuration
      var configuration = ReferenceObject.Configuration()
      configuration.highFrameRateTrackingEnabled = true
      
      // Load the reference object with ARKit API
      let refObjURL = Bundle.main.url(forResource: "flashlight", withExtension: ".referenceobject")
      let refObject = try? await ReferenceObject(from: refObjURL!, configuration: configuration)
    • 4:50 - Extended training mode via command-line

      // Extended training mode on Mac using command-line interface
      
      % xrun createml objecttracker --source flashlight.usdz --output flashlight.referenceobject --training-mode extended --all-angles
    • 5:25 - Object pose coordinate spaces

      // Different object pose spaces
      
      // Obtain anchor transform with display corrections
      
      let renderingPose = myObjectAnchor.coordinateSpace(correction: .rendered)
      
      // Obtain anchor transform in metric space
      
      let metricPose = myObjectAnchor.coordinateSpace(correction: .none)
    • 6:22 - Implement object tracking in iOS

      // Implement object tracking in iOS
      
      import ARKit
      import RealityKit
      
      class ObjectTrackingARSessionDelegate: NSObject, ARSessionDelegate {
              let arView = ARView(frame: .zero)
              var entities: [UUID: AnchorEntity] = [:]
      
              func start() throws {
                      let stationaryObject = try ARReferenceObject(archiveURL:
                              Bundle.main.url(forResource: "stationary", withExtension: "referenceobject")!)
                      let movingObject = try ARReferenceObject(archiveURL:
                              Bundle.main.url(forResource: "moving", withExtension: "referenceobject")!)
      
                      let configuration = ARWorldTrackingConfiguration()
                      configuration.detectionObjects = [stationaryObject]   // Low frame rate
                      configuration.trackingObjects = [movingObject]        // High frame rate
      
                      arView.session.delegate = self
                      arView.session.run(configuration)
              }
      
      				func session(_ session: ARSession, didAdd anchors: [ARAnchor]) {
                      for case let anchor as ARObjectAnchor in anchors {
                              let entity = AnchorEntity(anchor: anchor)
                              entities[anchor.identifier] = entity
                              arView.scene.addAnchor(entity)
                      }
              }
      
              func session(_ session: ARSession, didUpdate anchors: [ARAnchor]) {
                      for case let anchor as ARObjectAnchor in anchors {
                              entities[anchor.identifier]?.isEnabled = anchor.isTracked
                      }
              }
      
              func session(_ session: ARSession, didRemove anchors: [ARAnchor]) {
                      for case let anchor as ARObjectAnchor in anchors {
                              if let entity = entities.removeValue(forKey: anchor.identifier) {
                                      arView.scene.removeAnchor(entity)
                              }
                      }
              }
      }
    • 12:26 - Discover and connect a spatial accessory

      import ARKit
      import GameController
      
      // Generic accessory discovery
      
      if let device = GCSpatialAccessory.spatialAccessories.first {
      
              // Resolves the .referenceaccessory bundle automatically
              
              let accessory = try await Accessory(device: device)
              let provider = AccessoryTrackingProvider(accessories: [accessory])
              try await arkitSession.run([provider])
      }
      
      // Update tracked accessories without restarting the session                             
      
      try await provider.updateAccessories([newAccessory])
    • 0:00 - Introduction
    • Overview of the new visionOS object tracking enhancements, including high-frame-rate tracking of handheld objects and the expansion of spatial accessories to third-party developers.

    • 2:20 - Object tracking
    • A recap of the object tracking API introduced in visionOS 2.0 and what's new in visionOS 27: tracking objects in motion, training extended models in Create ML, metric-space poses, and iOS support.

    • 7:20 - Spatial accessories
    • Introduction to spatial accessories — electronic devices with an LED constellation, IMU, and Bluetooth that Vision Pro tracks in real time. Covers the first generation of accessories and the expansion to custom third-party hardware in visionOS 27.

    • 7:47 - Creating a spatial accessory
    • Design considerations, hardware requirements, and the validation workflow for building your own spatial accessory, including how to use the debug tool in Simulator and generate a reference accessory bundle.

    • 11:48 - Plug-and-play accessories
    • Off-the-shelf reference hardware from manufacturers like DFRobot and MikroE that can be used immediately for testing or integrated into your visionOS app without custom hardware development.

    • 12:22 - Implementing in your app
    • How to discover and connect a spatial accessory using the GCSpatialAccessory class and AccessoryTrackingProvider APIs, including how to hot-swap accessories without interrupting your ARKit session.

    • 13:03 - Next steps
    • Key takeaways on choosing the right tracking approach, and links to related sessions including Explore object tracking for visionOS and Explore spatial accessory input on visionOS.

Developer Footer

  • Videos
  • WWDC26
  • Explore enhancements to visionOS object tracking
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • Mini Apps Partner Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines