Skip to content

Commit 80585a2

Browse files
committed
Add additional information about the Godot XR Vendor Plugin
1 parent 8de3e5a commit 80585a2

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

tutorials/xr/deploying_to_android.rst

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@ Before following the OpenXR-specific instructions here, you'll need to first set
1616
See :ref:`doc_exporting_for_android` for the full details, and return here when you've finished these steps.
1717

1818
.. warning::
19+
1920
While the Mobile Vulkan renderer has many optimizations targeted at mobile devices, we're still working out the kinks.
2021
It is highly advisable to use the compatibility renderer (OpenGL) for the time being when targeting Android based XR devices.
2122

2223
Gradle Android build
2324
--------------------
2425

2526
.. note::
27+
2628
Official support for the Android platform wasn't added to the OpenXR specification initially resulting in various vendors creating custom loaders to make OpenXR available on their headsets.
2729
While the long term expectation is that all vendors will adopt the official OpenXR loader, for now these loaders need to be added to your project.
2830

@@ -51,6 +53,13 @@ file into your projects `addons` folder.
5153

5254
You can find the main repository of the vendors plugin `here <https://github.com/GodotVR/godot_openxr_vendors>`__.
5355

56+
.. note::
57+
58+
From Godot 4.6 onwards, the vendor plugin is now an optional but recommended plugin.
59+
Godot can export directly to most Android-compatible devices.
60+
This can be useful for demonstration and tutorial projects where a single APK can be deployed to multiple devices.
61+
The vendor plugin unlocks vendor specific implementations and settings, and may be required to release on app stores.
62+
5463
Creating the export presets
5564
---------------------------
5665
You will need to setup a separate export preset for each device, as each device will need its own loader included.
@@ -59,12 +68,12 @@ Open **Project** and select **Export..**.
5968
Click on **Add..** and select **Android**.
6069
Next change the name of the export preset for the device you're setting this up for, say **Meta Quest**.
6170
And enable **Use Gradle Build**.
71+
Next change the **XR Mode** to **OpenXR**.
6272
If you want to use one-click deploy (described below), ensure that **Runnable** is enabled.
6373

64-
If the vendors plugins were installed correctly you should find entries for the
65-
different headsets under **XR Features**. Change the **XR Mode** to **OpenXR**, then
66-
select the entry for your headset if you see one. If you don't see one enable the
67-
Khronos plugin.
74+
If you've installed the vendor plugin you will also find entries for the different headsets under **XR Features**.
75+
Select the entry for your headset, if you see one.
76+
Otherwise, enable the Khronos plugin.
6877

6978
.. image:: img/android_meta_quest.webp
7079

tutorials/xr/setting_up_xr.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ well optimized for XR right now compared to the other two.
4545
OpenXR
4646
------
4747

48-
OpenXR is a new industry standard that allows different XR platforms to present themselves through a standardised API to XR applications. This standard is an open standard maintained by the Khronos Group and thus aligns very well with Godot's interests.
48+
OpenXR is a new industry standard that allows different XR platforms to present themselves through a standardized API to XR applications. This standard is an open standard maintained by the Khronos Group and thus aligns very well with Godot's interests.
4949

5050
The Vulkan implementation of OpenXR is closely integrated with Vulkan, taking over part of the Vulkan system. This requires tight integration of certain core graphics features in the Vulkan renderer which are needed before the XR system is setup. This was one of the main deciding factors to include OpenXR as a core interface.
5151

tutorials/xr/xr_next_steps.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,17 @@ Now that we have the basics covered there are several options to look at for you
99
* You can look at a number of `XR demos here <https://github.com/godotengine/godot-demo-projects/tree/master/xr>`_.
1010
* You can find 3rd party tutorials on our :ref:`Tutorials and resources <doc_community_tutorials>` page.
1111

12+
Godot OpenXR vendor plugin
13+
--------------------------
14+
15+
The vendor plugin isn't just for :ref:`deploying to Android <doc_deploying_to_android>`.
16+
In the vendor plugin, we implement many OpenXR vendor extensions that unlock unique features on certain devices,
17+
or features that are new enough that a standardized implementation is not available yet.
18+
19+
Together with the OpenXR working group we maintain a
20+
`client support matrix <https://github.khronos.org/OpenXR-Inventory/extension_support.html#client_matrix>`_ that lists
21+
all the OpenXR extensions Godot supports and whether they require the vendor plugin.
22+
1223
XR Toolkits
1324
-----------
1425

0 commit comments

Comments
 (0)