Almost two years ago, just after Apple's Vision Pro headset was released for the first time, I had a chance to experience a demo of it in the Palo Alto Apple store. If I remember correctly, it included basic usage (focusing elements with your eyes, pinching your fingers to "click" something), an interactive 3D demo, and probably an immersive video, too. This literally blew my mind - I could really see how spatial computing will become the next big thing.
Back then, even though I really enjoyed using it, I didn't buy the Vision Pro. It was too expensive for me at the time; there were not many apps that supported it, and early testers indicated that wearing it for a long time led to headaches and dizziness.
However, the new M5 version made things slightly better: the new dual-knit headstrap makes wearing it lighter on your face, and the higher resolution prevents headaches (for me at least) when wearing the device for a long time. I've really enjoyed using it for work for the last few weeks.
Over the long Thanksgiving weekend, I finally had some time to dive into developing for the Vision Pro. I'm usually a web developer, working with TypeScript, React, and Node.js, so I don't have much experience developing for Apple-native platforms, such as visionOS, iOS, or iPadOS.
In this post, I'll just share what I learned setting up my development environment and getting started with developing my first little visionOS app.
Step 1: Install XCode
XCode is Apple's native development platform. If you want to target beta versions of visionOS (such as the 26.2-beta that adds system-wide support for the stylus), make sure to install the XCode beta from the Apple Developer site. Otherwise, the standard XCode is fine, too.
When starting XCode for the first time, you will be prompted to select the components you want to build for. Choose "visionOS" here. If the dialog doesn't appear on its own, you can also open XCode settings and then navigate to "Components".
Step 2: Create a project
The next step is to create a new project in XCode. Select "visionOS" as the platform, and then choose the options depending on the app you are trying to build. Ask ChatGPT if you are not sure!
Step 3: Run the app
You can now try to run the empty app that XCode initialized for you. For that, you need to add a build target - this can just be a Vision Pro simulator device. If you have a Vision Pro, you can add this as a build device, too.
For that, complete these steps:
- On your Vision Pro, go to "Settings" > "General" > "Remote Devices".
- On your computer, go to XCode > "Window" > "Devices and Simulators". There, you should see the Vision Pro. Click "Pair" to connect XCode to your headset.
- On your Vison Pro, go to "Settings" > "Privacy & Security", and enable "Developer Mode".
In XCode, you can now select your Vision Pro as a build target and start the build for it. The app will be installed in your headset and will automatically start.
Step 4: Set up Cursor
While I do like the XCode experience, the built-in AI assistant is not great. You can add ChatGPT Codex as a plugin (if you have a paid ChatGPT account), but it doesn't seem to work well, either. In my experience, whenever I asked it to help me with a build error, it just introduced a bunch of new errors. It looks like it doesn't natively have access to an LSP (Language Server Protocol) and doesn't know about the latest Swift syntax.
Cursor is my editor of choice for web development, so I tried to set it up for visionOS development too. Here's what you need to do to make that happen:
- Open the root folder of the created project in Cursor.
- Install the official Swift extension. And make sure you remove the deprecated one, in case you have it installed still.
- You need the official LLDB DAP extension. For me, it didn't work to install it directly from the extensions section in Cursor, so I had to open VS Code, find the extension, and export it from there (through the gear icon > "Download VSIX"). You can then drag this exported file directly into the Extensions section in Cursor.
- Then, you need to install the Sweet Pad extension and run the command "Sweetpad: Generate build server config". This will create a build server configuration file in the root of the directory.
- After that, make sure to restart Cursor, and you should see build issues inline in Cursor.

You should also add the Sosumi MCP server, which is an unofficial MCP for the Apple developer documentation.
Now, you can use Cursor's agent mode to help you make changes to your app - newer models like Claude Opus 4.5 or Gemini 3 work especially well! Because your agent has access to the Sosumi MCP server, you can also just ask questions about the documentation. I still use XCode to build and run the app, and it has a nice runtime debugger built in. However, you could probably do that from Cursor as well.
I got into developing for the Vision Pro this long weekend, and this is so much fun! (once I got properly set up haha)
— Max Gfeller (@mgfeller) December 1, 2025
Here is my first little app, a game where you can test your reaction speed by catching falling sticks (and other objects). Should I release this? pic.twitter.com/HeQXh2y6Td
Now that you are properly set up for development, you can check out Apple's visionOS Pathway. This is a collection of videos, documentation, and example apps to get you started with all things visionOS development. Enjoy!
