Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qt3dxr-quest-quick-start.qdoc
Go to the documentation of this file.
1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3/*!
4 \page qt3dxr-quest-quick-start.html
5 \title Getting Started With Meta Quest 3
6
7 \brief Instructions on how to get \qxr up and running on a Meta Quest headset.
8
9 \section1 Introduction
10
11 This topic provides instructions on how to get up and running with the \tm Meta Quest and OpenXR.
12 Deploying applications to the Meta Quest can be done in two ways: As a "low-immersion" application,
13 where the application is contained in a window in the headset's default VR environment or
14 as a "high-immersion" VR application where the application takes over the entire rendering of
15 the VR environment.
16
17 \note The instructions are primarily for the Quest 3, but many steps should also apply for
18 other Android-based headsets using OpenXR.
19
20 \section1 Prerequisites
21
22 You'll need Qt 6.8 or later and the \qxr module to get started. The \qxr module is part of
23 QtQuick3D and will be installed with it. You'll also need the Android NDK, SDK, and JDK
24 installed and configured. You can find more information on setting up Qt Creator for Android
25 development here \l {Getting Started with Qt for Android}.
26
27 \section1 Setting up the Quest
28
29 You'll need to enable developer mode on the device to deploy applications to the Meta Quest.
30 Download the Meta Quest Developer Hub to stream video from the device, enable wireless
31 debugging, and more.
32
33 \section1 Deploying a low-immersion application
34
35 Deploying a low-immersion application follows the same steps as when developing and deploying
36 for \l{Qt for Android}. You can already deploy Qt examples to the Quest in this
37 way with no modifications.
38
39 \section2 Project changes needed for XR applications to be Meta Quest ready
40
41 Preparing an XR application for the Quest requires a few extra steps, as the QtQuick3D
42 the application entry point in QML is slightly different. In a regular QtQuick3D application, the
43 view into the 3D scene is through the \l View3D type, but in an XR application, the view is
44 through the \l XrView type. In addition, there are \l{Qt Quick 3D Xr QML Types}{APIs in Qt Quick 3D Xr} that are
45 specific for implementing XR applications, for example, handtracking, spatial anchors,
46 and passthrough.
47
48 The AndroidManifest.xml file will also need to be modified to include the necessary permissions
49 and features specified by the OEM of the target device. For the Quest, the following:
50
51 \badcode
52 <meta-data android:name="com.oculus.intent.category.VR" android:value="vr_only"/>
53 \endcode
54
55 \badcode
56 <uses-permission android:name="com.oculus.permission.HAND_TRACKING" />
57 <uses-feature android:name="oculus.software.hand-tracking" android:required="false" />
58 \endcode
59
60 See \l{https://developer.oculus.com/documentation/native/android/mobile-native-manifest/}{Meta's Manifest docs}
61 for more information.
62
63*/