From 663787334c341181439ca17bfcdd96d310ad198f Mon Sep 17 00:00:00 2001 From: Fredia Huya-Kouadio Date: Mon, 14 Oct 2024 07:21:36 -0700 Subject: [PATCH] Add an about page for the Godot XR Editor --- tutorials/editor/index.rst | 13 +++ tutorials/editor/using_the_android_editor.rst | 74 ++++++++++----- tutorials/editor/using_the_xr_editor.rst | 90 +++++++++++++++++++ 3 files changed, 157 insertions(+), 20 deletions(-) create mode 100644 tutorials/editor/using_the_xr_editor.rst diff --git a/tutorials/editor/index.rst b/tutorials/editor/index.rst index 07974f9b7..b085d62da 100644 --- a/tutorials/editor/index.rst +++ b/tutorials/editor/index.rst @@ -27,6 +27,19 @@ in other sections where appropriate. For example, the :ref:`animation editor default_key_mapping customizing_editor +XR editor +--------- + +Godot offers a port of the editor designed to run natively on Meta Quest devices. +The port can be downloaded from the `Meta Horizon Store `__, +or from the `Godot download page `__. + +.. toctree:: + :maxdepth: 1 + :name: toc-xr-editor + + using_the_xr_editor + Android editor -------------- diff --git a/tutorials/editor/using_the_android_editor.rst b/tutorials/editor/using_the_android_editor.rst index a8848f37d..330177cbb 100644 --- a/tutorials/editor/using_the_android_editor.rst +++ b/tutorials/editor/using_the_android_editor.rst @@ -3,14 +3,15 @@ Using the Android editor ======================== -In 2023, `we added `__ -an `Android port of the editor `__ -that can be used to work on new or existing projects on Android devices. +In 2023, we added an `Android port of the editor `__ +that can be used to create, develop, and export 2D and 3D projects on Android devices. + +The app can be downloaded from the `Godot download page `__ +or from the `Google Play Store `__. .. note:: - The Android editor is in early access, while we continue to refine the experience, - and bring it up to parity with the Desktop version of the editor. See :ref:`doc_using_the_android_editor_limitations` below. + The Android editor is in early access, while we continue to refine the experience. See :ref:`doc_using_the_android_editor_limitations` below. Android devices support ----------------------- @@ -21,31 +22,64 @@ The Android editor requires devices running Android 5 Lollipop or higher, with a - Android-powered netbooks - Chromebooks supporting Android apps +Runtime Permissions +------------------- + +- `All files access permission `__: + Enables the editor to create, import, and read project files from any file locations on the device. + Without this permission, the editor is still functional, but has limited access to the device's files and directories. +- `REQUEST_INSTALL_PACKAGES `__: Enables the editor to install exported project APKs. +- `RECORD_AUDIO `__: Requested when the `audio/driver/enable_input `__ project setting is enabled. + +Tips & Tricks +------------- + +**Input** + +- For the best experience and high level of productivity, connecting a bluetooth keyboard & mouse is recommended to interact with the Android editor. + The Android editor supports all of the `usual shortcuts and key mappings `__. +- When interacting with keyboard & mouse, you can decrease the size of the scrollbar using the `interface/touchscreen/increase_scrollbar_touch_area `__ editor setting. +- For 2D projects, the `block coding plugin `__ can provide a block-based visual alternative to composing scripts when lacking a connected hardware keyboard. + +**Multi-tasking** + +- On smaller devices, enabling and using picture-in-picture (PiP) mode provides the ability to easily transition between the *Editor* and the *Play window*. + + - PiP can be enabled via the `run/window_placement/play_window_pip_mode `__ editor setting. + - The `run/window_placement/android_window `__ editor setting can be used to specify whether the *Play* window should always launch in PiP mode. + - **Note:** In PiP mode, the *Play* window does not have input access. + +**Projects sync** + +- Syncing projects via Git can be done by downloading an Android Git client. + We recommend the `Termux terminal `__, an Android terminal emulator which provides access to common terminal utilities such Git and SSH. + + - **Note:** To use Git with the Termux terminal, you'll need to grant *WRITE* permission to the terminal. + This can be done by `running the following command `__ from within the terminal: ``termux-setup-storage`` + +**Plugins** + +- GDExtension plugins work as expected, but require the plugin developer to provide native Android binaries. + .. _doc_using_the_android_editor_limitations: -Required Permissions --------------------- - -The Android editor requires the `All files access permission `__. -The permission allows the editor to create / import / read project files from any file locations on the device. -Without the permission, the editor is still functional, but has limited access to the device's files and directories. - Limitations & known issues -------------------------- Here are the known limitations and issues of the Android editor: -- No C#/Mono support -- No support for external script editors -- While available, the *Vulkan Forward+* renderer is not recommended due to severe performance issues -- No support for building and exporting an Android APK binary. - As a workaround, you can generate and export a `Godot PCK or ZIP file `__ -- No support for building and exporting binaries for other platforms -- UX not optimized for Android phones form-factor +- No gradle build support. +- No support for Android plugins as they require gradle build support. GDExtensions plugins are supported. +- No C#/Mono support. +- No support for external script editors. +- While available, the *Vulkan Forward+* renderer is not recommended due to severe performance issues. +- UX not optimized for Android phones form-factor. - `Android Go devices `__ lacks the *All files access* permission required for device read/write access. As a workaround, when using an Android Go device, it's recommended to create new projects only in the Android *Documents* or *Downloads* directories. -- The editor doesn't properly resume when *Don't keep activities* is enabled in the *Developer Options* +- The editor doesn't properly resume when *Don't keep activities* is enabled in the *Developer Options*. +- There is a `bug `__ with the Samsung keyboard that causes random input to be inserted when writing scripts. + It's recommended to use the `Google keyboard (Gboard) `__ instead. .. seealso:: diff --git a/tutorials/editor/using_the_xr_editor.rst b/tutorials/editor/using_the_xr_editor.rst new file mode 100644 index 000000000..6e07c7364 --- /dev/null +++ b/tutorials/editor/using_the_xr_editor.rst @@ -0,0 +1,90 @@ +.. _doc_using_the_xr_editor: + +Using the XR editor +=================== + +In 2024, we introduced the `Godot XR editor `__, +a version of the Godot editor **designed to run natively on XR devices**, enabling the creation, +development and export of 2D, 3D, and **XR** apps and games directly on device. + +The app can be downloaded from the `Meta Horizon Store `__, +or from the `Godot download page `__. + +.. note:: + + The XR editor is in early access, while we continue to refine the experience. See :ref:`doc_using_the_xr_editor_limitations` below. + +XR devices support +------------------ + +For now, the Godot XR editor is only available for the following `Meta Quest `__ +devices running **Meta Horizon OS v69 or higher**: + + - Meta Quest 3 + - Meta Quest 3s + - Meta Quest Pro + +.. note:: + + We are working to add support for more XR devices, including PCVR devices. + +Runtime Permissions +------------------- + +- `All files access permission `__: + Enables the editor to create, import, and read project files from any file locations on the device. + Without this permission, the editor is still functional, but has limited access to the device's files and directories. +- `REQUEST_INSTALL_PACKAGES `__: Enables the editor to install exported project APKs. +- `RECORD_AUDIO `__: Requested when the `audio/driver/enable_input `__ project setting is enabled. +- `USE_SCENE `__: Required to enable and access the scene APIs when running an XR project. + +Tips & Tricks +------------- + +**Input** + +- For the best experience and high level of productivity, connecting a bluetooth keyboard & mouse is recommended to interact with the XR editor. + The XR editor supports all of the `usual shortcuts and key mappings `__. +- When interacting with tracked controllers or tracked hands, you can toggle on the + `interface/touchscreen/enable_long_press_as_right_click `__ editor setting to enable right-click by long press. +- When interacting with tracked controllers or tracked hands, you can increase the size of the scrollbar using the + `interface/touchscreen/increase_scrollbar_touch_area `__ editor setting. + +**Multi-tasking** + +- `Theater View `__ can be used to fullscreen the *Editor window*. +- Enable `Seamless Multitasking `__, available in the Quest *Experimental Settings*, + to enable the ability to quickly transition between a running XR project and the *Editor window*. +- When developing a non-XR project, the Godot editor app icon will provide the ability to switch between the *Editor window* and the *Play window* when the latter is active, using Quest's *App menu* feature. +- When developing and running an XR project, you can bring back the *Editor window* by: + + - Pressing on the *Meta* button to invoke the menu bar + - Clicking on the Godot editor app icon to summon the *App menu*, and select the *Editor window* tile. + +**Projects sync** + +- Syncing projects via Git can be done by downloading an Android Git client. We recommend the `Termux terminal `__, + an Android terminal emulator which provides access to common terminal utilities such Git and SSH. + + - **Note:** To use Git with the Termux terminal, you'll need to grant *WRITE* permission to the terminal. + This can be done by `running the following command `__ from within the terminal: ``termux-setup-storage`` + +**Plugins** + +- GDExtension plugins work as expected, but require the plugin developer to provide native Android binaries. + +.. _doc_using_the_xr_editor_limitations: + +Limitations & known issues +-------------------------- + +Here are the known limitations and issues of the XR editor: + +- No Meta Quest 2 support due to the limited amount of memory on the device. + However advanced users can grab the XR editor APK from the `download page `__ + and sideload it onto their device if they desire to do so. +- No gradle build support. +- No support for Android plugins as they require gradle build support. GDExtension plugins are supported. +- No C#/Mono support. +- No support for external script editors. +- While available, the *Vulkan Forward+* renderer is not recommended due to severe performance issues.