Getting Started Developing for Vision Pro and visionOS

Get an Overview

Start with the last 45 minutes of the WWDC Keynote. This shows how Apple imagines people will interact with the Vision Pro and how it will be used. If that’s TL;DR, at least watch the one-minute Vision Pro ad from the end of the Keynote.

Then watch the last 30 minutes of the Platforms State of the Union. This provides a good overview of the technologies and APIs involved.

Native or Unity?

Right now there are two basic ways to develop for Vision Pro: Apple’s native APIs or using the Unity game engine. Because I ran across several issues trying to develop for Vision Pro with Unity, the rest of this document focuses on native development.

Know How to Program the iPhone

If you’ve never developed for Apple platforms before, I recommend learning how to program for the iPhone first. visionOS builds on iOS, using the Swift programming language and especially frameworks like SwiftUI and RealityKit. Also, if you’ve never used Apple’s device provisioning and code signing before, learning these on the iPhone will be way easier.

If you don’t know iPhone yet, may I recommend 100 Days of SwiftUI. It’s a 100 day course taking about an hour a day. It’ll teach you the Swift programming language and the SwiftUI user interface framework, along with some Apple development basics. Once you’re done with that class, come back here.

Get the Right Version of Xcode

Right now, developing for visionOS and Vision Pro requires Xcode 15.1, beta 1 (and not the version of Xcode 15 you can find in the app store). There’s a big bold message next to the download link that says, “Note: Developing for visionOS requires a Mac with Apple Silicon.” When you launch Xcode, it’ll ask which platforms you’ll want to develop for so it can download the support files. Check the visionOS checkbox, and wait for the download to complete.

Create and Run a New, Empty visionOS App

To make sure you have everything set up correctly, create a new, empty visionOS project. Use the following settings:

Initial Scene: Window; Immersive Space Renderer: RealityKit; Immersive Space: Mixed

Now make sure the target device is set to “Apple Vision Pro” under “visionOS Simulator”, and hit the “Run” button.

If all goes well, you should see a window showing a pretend living room with your app’s main window floating in the foreground. Click on the “Show Immersive Space” button to show the immersive space. Click again to hide it. Practice moving around the space using the different mode buttons at the bottom right of the screen. (A 3-button mouse helps a lot if you’re used to traditional video game keyboard & mouse WASD navigation.)

Cool! Now you have an application that runs end to end. Start hacking on it and see what happens! If you create a source control repo when creating your project (the default), you can always back up a step or two if you break something.

John Brewer