<!--
{
  "availability" : [
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "article",
  "framework" : "visionOS",
  "identifier" : "/documentation/visionOS",
  "metadataVersion" : "0.1.0",
  "role" : "collection",
  "title" : "visionOS"
}
-->

# 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.

![Three scenes from visionOS apps that show the Music app, a close-up of the tools associated with a window, and a photo browser.](images/com.apple.visionOS/overview@2x.png)

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

Start with a familiar window-based experience to introduce people to your content. From there, add <doc://com.apple.documentation/documentation/SwiftUI> scene types specific to visionOS, such as volumes and spaces. These scene types let you incorporate depth, 3D objects, and immersive experiences.

Build your app’s 3D content with <doc://com.apple.documentation/documentation/RealityKit> and <doc://com.apple.documentation/documentation/RealityComposerPro> and display it with a <doc://com.apple.documentation/documentation/RealityKit/RealityView>. In an immersive experience, use <doc://com.apple.documentation/documentation/ARKit> to integrate your content with the person’s surroundings.



![An illustration that shows a person wearing Apple Vision Pro and looking at three windows and a volume in the space in front of them.](images/com.apple.visionOS/shared-spaces@2x.png)

### 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. <doc://com.apple.documentation/documentation/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 <doc://com.apple.documentation/documentation/ARKit> to create custom gestures.



![An illustration that shows a person touching their thumb and index finger together to create a tap gesture.](images/com.apple.visionOS/tap~dark@2x.png)



![An illustration that shows a person making tap gestures with both hands and then rotating their hands around a central point.](images/com.apple.visionOS/rotate@2x.png)



![An illustration that shows a person touching their thumb and index finger together to select a cube, and then using hand motions to manipulate the cube's position and orientation.](images/com.apple.visionOS/direct-manipulation@2x.png)



![An illustration that shows an object sitting in the palm of someone's hand.](images/com.apple.visionOS/custom~dark@2x.png)

### 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.

[Chaparral Village: Building an immersive visionOS adventure game](/documentation/visionOS/chaparral-village-building-an-immersive-visionos-adventure-game)

Create an adventure game using SwiftUI, RealityKit, and Reality Composer Pro 3.

[Designing no-code games with Reality Composer Pro 3](/documentation/visionOS/designing-no-code-games-in-reality-composer-pro-3)

Build a video game in Reality Composer Pro without code using Script Graphs.

[Canyon Crosser: Building a volumetric hike-planning app](/documentation/visionOS/canyon-crosser-building-a-volumetric-hike-planning-app)

Create a hike planning app using SwiftUI and RealityKit.

[Petite Asteroids: Building a volumetric visionOS game](/documentation/visionOS/petite-asteroids-building-a-volumetric-visionos-game)

Use the latest RealityKit APIs to create a beautiful video game for visionOS.

[Hello World](/documentation/visionOS/World)

Use windows, volumes, and immersive spaces to teach people about the Earth.

[BOT-anist](/documentation/visionOS/BOT-anist)

Build a multiplatform app that uses windows, volumes, and animations to create a robot botanist’s greenhouse.

[Destination Video](/documentation/visionOS/destination-video)

Leverage SwiftUI to build an immersive media experience in a multiplatform app.

[Happy Beam](/documentation/visionOS/happybeam)

Leverage a Full Space to create a fun game using ARKit.

[Diorama](/documentation/visionOS/diorama)

Design scenes for your visionOS app using Reality Composer Pro.

[Swift Splash](/documentation/visionOS/swift-splash)

Use RealityKit to create an interactive ride in visionOS.

## Topics

### App construction

[Creating your first visionOS app](/documentation/visionOS/creating-your-first-visionos-app)

Build a new visionOS app using SwiftUI and add platform-specific features.

[Adding 3D content to your app](/documentation/visionOS/adding-3d-content-to-your-app)

Add depth and dimension to your visionOS app and discover how
to incorporate your app’s content into a person’s surroundings.

[Creating fully immersive experiences in your app](/documentation/visionOS/creating-fully-immersive-experiences)

Build fully immersive experiences by combining spaces with
content you create using RealityKit or Metal.

[Drawing sharp layer-based content in visionOS](/documentation/visionOS/drawing-sharp-layer-based-content)

Deliver text and vector images at multiple resolutions
from custom Core Animation layers in visionOS.

[Introductory visionOS samples](/documentation/visionOS/introductory-visionOS-samples)

Learn the fundamentals of building apps for visionOS with beginner-friendly sample code projects.

[Combining spatial support from multiple frameworks](/documentation/visionOS/combining-spatial-support-from-multiple-frameworks)

Integrate the features of an array of frameworks seamlessly to enhance your spatial app.

[Connecting iPadOS and visionOS apps over the local network](/documentation/visionOS/connecting-ipados-and-visionos-apps-over-the-local-network)

Build an iPadOS companion app to control your visionOS app.

### Design

  <doc://com.apple.documentation/design/Human-Interface-Guidelines/designing-for-visionos>

[Adopting best practices for privacy and user preferences](/documentation/visionOS/adopting-best-practices-for-privacy)

Minimize your use of sensitive information and provide a clear
statement of what information you do use and how you use it.

[Improving accessibility support in your visionOS app](/documentation/visionOS/improving-accessibility-support-in-your-app)

Update your code to ensure everyone can access your app’s content in
visionOS.

### SwiftUI

[Canyon Crosser: Building a volumetric hike-planning app](/documentation/visionOS/canyon-crosser-building-a-volumetric-hike-planning-app)

Create a hike planning app using SwiftUI and RealityKit.

[Hello World](/documentation/visionOS/World)

Use windows, volumes, and immersive spaces to teach people about the Earth.

[Presenting windows and spaces](/documentation/visionOS/presenting-windows-and-spaces)

Open and close the scenes that make up your app’s interface.

[Positioning and sizing windows](/documentation/visionOS/positioning-and-sizing-windows)

Influence the initial geometry of windows that your app presents.

[Adopting best practices for persistent UI](/documentation/visionOS/adopting-best-practices-for-scene-restoration)

Create persistent and contextually relevant spatial experiences by managing scene restoration, customizing window behaviors, and surface snapping data.

### RealityKit and Reality Composer Pro

  <doc://com.apple.documentation/documentation/RealityComposerPro>

[Chaparral Village: Building an immersive visionOS adventure game](/documentation/visionOS/chaparral-village-building-an-immersive-visionos-adventure-game)

Create an adventure game using SwiftUI, RealityKit, and Reality Composer Pro 3.

[Designing no-code games with Reality Composer Pro 3](/documentation/visionOS/designing-no-code-games-in-reality-composer-pro-3)

Build a video game in Reality Composer Pro without code using Script Graphs.

[Petite Asteroids: Building a volumetric visionOS game](/documentation/visionOS/petite-asteroids-building-a-volumetric-visionos-game)

Use the latest RealityKit APIs to create a beautiful video game for visionOS.

[BOT-anist](/documentation/visionOS/BOT-anist)

Build a multiplatform app that uses windows, volumes, and animations to create a robot botanist’s greenhouse.

[Swift Splash](/documentation/visionOS/swift-splash)

Use RealityKit to create an interactive ride in visionOS.

[Diorama](/documentation/visionOS/diorama)

Design scenes for your visionOS app using Reality Composer Pro.

[Building an immersive media viewing experience](/documentation/visionOS/building-an-immersive-media-viewing-experience)

Add a deeper level of immersion to media playback in your app with RealityKit and Reality Composer Pro.

[Enabling video reflections in an immersive environment](/documentation/visionOS/enabling-video-reflections-in-an-immersive-environment)

Create a more immersive experience by adding video reflections in a custom environment.

  <doc://com.apple.documentation/documentation/RealityKit/combining-2d-and-3d-views-in-an-immersive-app>

[Understanding the modular architecture of RealityKit](/documentation/visionOS/understanding-the-realitykit-modular-architecture)

Learn how everything fits together in RealityKit.

[Using transforms to move, scale, and rotate entities](/documentation/visionOS/understanding-transforms)

Learn how to use Transforms to move, scale, and rotate entities in RealityKit.

[Capturing screenshots and video from Apple Vision Pro for 2D viewing](/documentation/visionOS/capturing-screenshots-and-video-from-your-apple-vision-pro-for-2d-viewing)

Create screenshots and record high-quality video of your visionOS app and its surroundings for app previews.

[Implementing object tracking in your app](/documentation/visionOS/implementing-object-tracking-in-your-app)

Create engaging interactions by training models to recognize and track real-world objects in people’s surroundings.

[Placing entities using head and device transform](/documentation/visionOS/placing-entities-using-head-and-device-transform)

Query and react to changes in the position and rotation of Apple Vision Pro.

[Manipulating entities with solid collisions](/documentation/visionOS/manipulating-entities-with-solid-collisions)

Extend the capabilities of your app by using entities, components, and systems to maintain solid collisions when manipulating entities.

[Gaussian splats on visionOS](/documentation/visionOS/gaussian-splats-on-visionos)

Use the new Gaussian splat APIs available in RealityKit in visionOS 27.

  <doc://com.apple.documentation/documentation/RealityKit/manipulating-models-with-realitykit>

### ARKit

[Happy Beam](/documentation/visionOS/happybeam)

Leverage a Full Space to create a fun game using ARKit.

[Setting up access to ARKit data](/documentation/visionOS/setting-up-access-to-arkit-data)

Check whether your app can use ARKit and respect people’s privacy.

[Incorporating real-world surroundings in an immersive experience](/documentation/visionOS/incorporating-real-world-surroundings-in-an-immersive-experience)

Create an immersive experience by making your app’s content respond to the local shape of the world.

[Placing content on detected planes](/documentation/visionOS/placing-content-on-detected-planes)

Detect horizontal surfaces like tables and floors, as well as vertical planes like walls and doors.

[Tracking specific points in world space](/documentation/visionOS/tracking-points-in-world-space)

Retrieve the position and orientation of anchors your app stores in ARKit.

[Tracking preregistered images in 3D space](/documentation/visionOS/tracking-images-in-3d-space)

Place content based on the current position of a known image in a person’s surroundings.

[Exploring object tracking with ARKit](/documentation/visionOS/exploring_object_tracking_with_arkit)

Find and track real-world objects in visionOS using reference objects you train with Create ML.

[Object tracking with Reality Composer Pro experiences](/documentation/visionOS/object-tracking-with-reality-composer-pro-experiences)

Use object tracking in visionOS to attach digital content to real objects to create engaging experiences.

[Building local experiences with room tracking](/documentation/visionOS/building-local-experiences-with-room-tracking)

Use room tracking in visionOS to provide custom interactions with physical spaces.

[Placing entities using head and device transform](/documentation/visionOS/placing-entities-using-head-and-device-transform)

Query and react to changes in the position and rotation of Apple Vision Pro.

[Drawing in the air and on surfaces with a spatial stylus](/documentation/visionOS/drawing-in-the-air-and-on-surfaces-with-a-spatial-stylus)

Create a spatial stylus drawing experience that balances latency and accuracy for both in-air and on-surface drawing.

  <doc://com.apple.documentation/documentation/ARKit/preparing-spatial-accessories-for-tracking-in-your-visionos-app>

[Working with generic spatial accessories](/documentation/visionOS/working-with-generic-spatial-accessories)

Let people place digital replicas of a generic spatial accessory by tracking the accessory with ARKit.

### SharePlay

  <doc://com.apple.documentation/documentation/GroupActivities/building-a-guessing-game-for-visionos>

[Implementing SharePlay for immersive spaces in visionOS](/documentation/visionOS/implementing-shareplay-for-immersive-spaces-in-visionos)

Enable collaborative spatial experiences by using SharePlay to synchronize 3D content among participants.

  <doc://com.apple.documentation/documentation/GroupActivities/configure-your-app-for-sharing-with-people-nearby>

  <doc://com.apple.documentation/documentation/GroupActivities/adding-spatial-persona-support-to-an-activity>

  <doc://com.apple.documentation/documentation/TabletopKit/synchronizing-group-gameplay-with-tabletopkit>

### Video playback

[Destination Video](/documentation/visionOS/destination-video)

Leverage SwiftUI to build an immersive media experience in a multiplatform app.

[Displaying video from connected devices](/documentation/visionOS/displaying-video-from-connected-devices)

Show video from devices connected with the Developer Strap in your visionOS app.

[Playing immersive media with RealityKit](/documentation/visionOS/playing-immersive-media-with-realitykit)

Create an immersive video playback experience with RealityKit.

  <doc://com.apple.documentation/documentation/RealityKit/rendering-stereoscopic-video-with-realitykit>

  <doc://com.apple.documentation/documentation/AVKit/creating-a-multiview-video-playback-experience-in-visionos>

  <doc://com.apple.documentation/documentation/AVFoundation/configuring-your-app-for-media-playback>

  <doc://com.apple.documentation/documentation/AVKit/adopting-the-system-player-interface-in-visionos>

  <doc://com.apple.documentation/documentation/AVFoundation/controlling-the-transport-behavior-of-a-player>

  <doc://com.apple.documentation/documentation/AVFoundation/monitoring-playback-progress-in-your-app>

  <doc://com.apple.documentation/documentation/AVKit/trimming-and-exporting-media-in-visionos>

### Xcode and Simulator

  <doc://com.apple.documentation/documentation/Xcode/configuring-your-app-icon>

  <doc://com.apple.documentation/documentation/Xcode/diagnosing-and-resolving-bugs-in-your-running-app>

  <doc://com.apple.documentation/documentation/Xcode/diagnosing-issues-in-the-appearance-of-your-running-app>

  <doc://com.apple.documentation/documentation/Xcode/running-your-app-on-simulated-or-physical-devices>

  <doc://com.apple.documentation/documentation/Xcode/device-hub>

### Performance

[Creating a performance plan for your visionOS app](/documentation/visionOS/creating-a-performance-plan-for-visionos-app)

Identify your app’s performance and power goals and create a plan to measure and assess them.

[Analyzing the performance of your visionOS app](/documentation/visionOS/analyzing-the-performance-of-your-visionOS-app)

Use the RealityKit Trace template in Instruments to evaluate and improve the performance of your visionOS app.

[Reducing the rendering cost of your UI on visionOS](/documentation/visionOS/reducing-the-rendering-cost-of-your-UI-on-visionOS)

Optimize your 2D user interface rendering on visionOS.

[Reducing the rendering cost of RealityKit content on visionOS](/documentation/visionOS/reducing-the-rendering-cost-of-RealityKit-content-on-visionOS)

Optimize your app’s 3D augmented reality content to render efficiently on visionOS.

[Understanding the visionOS render pipeline](/documentation/visionOS/understanding-the-visionos-render-pipeline)

Compare how visionOS handles events and manages its rendering loop differently from other Apple platforms.

### iOS migration and compatibility

[Determining whether to bring your app to visionOS](/documentation/visionOS/determining-whether-to-bring-your-app-to-visionos)

Decide whether to bring your existing iPadOS or iOS app to visionOS.

[Bringing your existing apps to visionOS](/documentation/visionOS/bringing-your-app-to-visionos)

Build a version of your iPadOS or iOS app using the visionOS SDK,
and update your code for platform differences.

[Bringing your ARKit app to visionOS](/documentation/visionOS/bringing-your-arkit-app-to-visionos)

Update an iPadOS or iOS app that uses ARKit, and provide an equivalent
experience in visionOS.

[Making your existing app compatible with visionOS](/documentation/visionOS/making-your-app-compatible-with-visionos)

Modify your iPadOS or iOS app to run successfully in visionOS as a compatible app.

### Enterprise APIs for visionOS

[Accessing the main camera](/documentation/visionOS/accessing-the-main-camera)

Add camera-based features to enterprise apps.

[Building spatial experiences for business apps with enterprise APIs for visionOS](/documentation/visionOS/building-spatial-experiences-for-business-apps-with-enterprise-apis)

Grant enhanced sensor access and increased platform control to your visionOS app by using entitlements.

[Locating and decoding barcodes in 3D space](/documentation/visionOS/locating-and-decoding-barcodes-in-3d-space)

Create engaging, hands-free experiences based on barcodes in a person’s surroundings.

[Monitoring fit and field of view fidelity](/documentation/visionOS/monitoring-fit-and-field-of-view-fidelity)

Respond to changes in fit and field of view fidelity on Apple Vision Pro by using the Visual Fidelity API.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)