Getting Started With Apple Vision Pro

Introduction

This guide will get you started developing applications for visionOS™.

Before starting, it is crucial to understand that there are two ways to develop applications for visionOS. The first method we'll refer to produces "low-immersion" applications. These applications can be developed as any regular iPad/iOS application and deployed to visionOS, these applications run in windowed mode and look like a regular iPad application floating in your VR environment.

Note: visionOS specific applications can also be placed in the low-immersion mode and will essentially work the same as an iPad/iOS application.

We'll refer to the second method as producing high-immersion applications. These applications are developed using the visionOS SDK and are run in "full screen" mode, meaning QtQuick3D takes complete control of the rendering, with some exceptions (Like pass-through video of the hands).

Note: visionOS supports applications transitioning between these two states, but this is not supported by QtQuick3D.Xr.

Note: Developing for visionOS requires Apple hardware with Apple Silicon.

Note: There is no binary build of Qt for visionOS. You will need to build Qt from source. See Building Qt for visionOS for more information.

Deploying a low-immersion application

To deploy an iPad/iOS application to visionOS, build and deploy the application as you would normally for iOS/iPad.

Building Qt for visionOS

To build Qt for visionOS, you will need the Qt source code with Qt Quick3D; see Building Qt Sources for more information on getting the source code.

Configuring and building for the simulator

A minimal configure command for building Qt for the visionOS simulator would look like this:

 [QT_SOURCE_DIR]/configure -qt-host-path [PATH_TO_QT_HOST_BUILD] -platform macx-visionos-clang -sdk xrsimulator -submodules qtquick3d

After configuring, you can build using your build tool, for example, CMake.

Configuring and building for the device

A minimal configure command for building Qt for the visionOS device would look like this:

 [QT_SOURCE_DIR]/configure -qt-host-path [PATH_TO_QT_HOST_BUILD] -platform macx-visionos-clang -sdk xros -submodules qtquick3d

After configuring, you can build using your build tool.

Deploying a visionOS application

To deploy a visionOS application, you will need Xcode with the visionOS SDK components installed and, optionally, the visionOS simulator. See supported versions for more information.

Note: Unlike the iOS/iPad applications, visionOS applications are not deployed using Qt Creator, but instead using Xcode.

To build one of Qt's examples for visionOS, you can use the following command:

 [QT_VISIONOS_BUILD]/bin/qt-cmake -B [EXAMPLE_BUILD_DIR] -S [EXAMPLE_SOURCE_DIR]

Running this command produces an Xcode project that you can open in Xcode and deploy to the device.