visionOS
Create a new universe of apps and games for Apple Vision Pro.
Overview
visionOS is the operating system that powers Apple Vision Pro. Use visionOS together with familiar tools and technologies to build immersive apps and games for spatial computing.
[Image]
Developing for visionOS requires a Mac with Apple silicon. Create new apps using SwiftUI to take full advantage of the spectrum of immersion available in visionOS. If you have an existing iPad or iPhone app, add the visionOS destination to your app’s target to gain access to the standard system appearance, and add platform-specific features to create a compelling experience. To provide continuous access to your content in the meantime, deliver a compatible version of your app that runs in visionOS.
Expand your app into immersive spaces
Explore new kinds of interaction
People can select an element by looking at it and tapping their fingers together. They can also pinch, drag, zoom, and rotate objects using specific hand gestures. SwiftUI provides built-in support for these standard gestures, so rely on them for most of your app’s input. When you want to go beyond the standard gestures, use ARKit to create custom gestures.
Dive into featured sample apps
Explore the core concepts for all visionOS apps with Hello World. Understand how to detect custom gestures using ARKit with Happy Beam. Discover streaming 2D and stereoscopic media with Destination Video. And learn how to build 3D scenes with RealityKit and Reality Composer Pro with Diorama and Swift Splash.
Topics
App construction
Creating your first visionOS appAdding 3D content to your appCreating fully immersive experiences in your appDrawing sharp layer-based content in visionOSIntroductory visionOS samplesCombining spatial support from multiple frameworksConnecting iPadOS and visionOS apps over the local network
Design
Designing for visionOSAdopting best practices for privacy and user preferencesImproving accessibility support in your visionOS app
SwiftUI
Canyon Crosser: Building a volumetric hike-planning appHello WorldPresenting windows and spacesPositioning and sizing windowsAdopting best practices for persistent UI
RealityKit and Reality Composer Pro
Reality Composer ProPetite Asteroids: Building a volumetric visionOS gameBOT-anistSwift SplashDioramaBuilding an immersive media viewing experienceEnabling video reflections in an immersive environmentCombining 2D and 3D views in an immersive appUnderstanding the modular architecture of RealityKitUsing transforms to move, scale, and rotate entitiesCapturing screenshots and video from Apple Vision Pro for 2D viewingImplementing object tracking in your visionOS appPlacing entities using head and device transformManipulating entities with solid collisions
ARKit
Happy BeamSetting up access to ARKit dataIncorporating real-world surroundings in an immersive experiencePlacing content on detected planesTracking specific points in world spaceTracking preregistered images in 3D spaceExploring object tracking with ARKitObject tracking with Reality Composer Pro experiencesBuilding local experiences with room trackingPlacing entities using head and device transformDrawing in the air and on surfaces with a spatial stylus
SharePlay
Building a guessing game for visionOSImplementing SharePlay for immersive spaces in visionOSConfigure your visionOS app for sharing with people nearbyAdding spatial Persona support to an activitySynchronizing group gameplay with TabletopKit
Video playback
Destination VideoDisplaying video from connected devicesPlaying immersive media with RealityKitRendering stereoscopic video with RealityKitCreating a multiview video playback experience in visionOSConfiguring your app for media playbackAdopting the system player interface in visionOSControlling the transport behavior of a playerMonitoring playback progress in your appTrimming and exporting media in visionOS
Xcode and Simulator
Configuring your app icon using an asset catalogDiagnosing and resolving bugs in your running appDiagnosing issues in the appearance of a running appRunning your app in Simulator or on a deviceInteracting with your app in the visionOS simulator
Performance
Creating a performance plan for your visionOS appAnalyzing the performance of your visionOS appReducing the rendering cost of your UI on visionOSReducing the rendering cost of RealityKit content on visionOSUnderstanding the visionOS render pipeline
iOS migration and compatibility
Determining whether to bring your app to visionOSBringing your existing apps to visionOSBringing your ARKit app to visionOSMaking your existing app compatible with visionOS