Browse Source

Add an about page for the Godot XR Editor

Fredia Huya-Kouadio 9 tháng trước cách đây
mục cha
commit
663787334c

+ 13 - 0
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 <https://www.meta.com/experiences/godot-game-engine/7713660705416473/>`__,
+or from the `Godot download page <https://godotengine.org/download/preview/>`__.
+
+.. toctree::
+   :maxdepth: 1
+   :name: toc-xr-editor
+
+   using_the_xr_editor
+
 Android editor
 --------------
 

+ 53 - 19
tutorials/editor/using_the_android_editor.rst

@@ -3,14 +3,15 @@
 Using the Android editor
 ========================
 
-In 2023, `we added <https://godotengine.org/article/android_godot_editor_play_store_beta_release/>`__
-an `Android port of the editor <https://godotengine.org/download/android/>`__
-that can be used to work on new or existing projects on Android devices.
+In 2023, we added an `Android port of the editor <https://godotengine.org/article/android_godot_editor_play_store_beta_release/>`__
+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 <https://godotengine.org/download/android/>`__
+or from the `Google Play Store <https://play.google.com/store/apps/details?id=org.godotengine.editor.v4>`__.
 
 .. 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
 
-.. _doc_using_the_android_editor_limitations:
+Runtime Permissions
+-------------------
+
+- `All files access permission <https://developer.android.com/training/data-storage/manage-all-files#all-files-access>`__:
+  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 <https://developer.android.com/reference/android/Manifest.permission#REQUEST_INSTALL_PACKAGES>`__: Enables the editor to install exported project APKs.
+- `RECORD_AUDIO <https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO>`__: Requested when the `audio/driver/enable_input <https://docs.godotengine.org/en/stable/classes/class_projectsettings.html#class-projectsettings-property-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 <https://docs.godotengine.org/en/stable/tutorials/editor/default_key_mapping.html>`__.
+- When interacting with keyboard & mouse, you can decrease the size of the scrollbar using the `interface/touchscreen/increase_scrollbar_touch_area <https://docs.godotengine.org/en/stable/classes/class_editorsettings.html#class-editorsettings-property-interface-touchscreen-increase-scrollbar-touch-area>`__ editor setting.
+- For 2D projects, the `block coding plugin <https://godotengine.org/asset-library/asset/3095>`__ can provide a block-based visual alternative to composing scripts when lacking a connected hardware keyboard.
+
+**Multi-tasking**
 
-Required Permissions
---------------------
+- On smaller devices, enabling and using picture-in-picture (PiP) mode provides the ability to easily transition between the *Editor* and the *Play window*.
 
-The Android editor requires the `All files access permission <https://developer.android.com/training/data-storage/manage-all-files#all-files-access>`__.
-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.
+  - PiP can be enabled via the `run/window_placement/play_window_pip_mode <https://docs.godotengine.org/en/latest/classes/class_editorsettings.html#class-editorsettings-property-run-window-placement-play-window-pip-mode>`__ editor setting.
+  - The `run/window_placement/android_window <https://docs.godotengine.org/en/latest/classes/class_editorsettings.html#class-editorsettings-property-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 <https://termux.dev/en/>`__, 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 <https://wiki.termux.com/wiki/Termux-setup-storage>`__ 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:
 
 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 <https://docs.godotengine.org/en/stable/tutorials/export/exporting_projects.html#pck-versus-zip-pack-file-formats>`__
-- 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 <https://developer.android.com/guide/topics/androidgo>`__ 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 <https://github.com/godotengine/godot/issues/70751>`__ with the Samsung keyboard that causes random input to be inserted when writing scripts.
+  It's recommended to use the `Google keyboard (Gboard) <https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin>`__ instead.
 
 .. seealso::
 

+ 90 - 0
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 <https://godotengine.org/article/godot-editor-horizon-store-early-access-release/>`__,
+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 <https://www.meta.com/experiences/godot-game-engine/7713660705416473/>`__,
+or from the `Godot download page <https://godotengine.org/download/preview/>`__.
+
+.. 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 <https://www.meta.com/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 <https://developer.android.com/training/data-storage/manage-all-files#all-files-access>`__:
+  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 <https://developer.android.com/reference/android/Manifest.permission#REQUEST_INSTALL_PACKAGES>`__: Enables the editor to install exported project APKs.
+- `RECORD_AUDIO <https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO>`__: Requested when the `audio/driver/enable_input <https://docs.godotengine.org/en/stable/classes/class_projectsettings.html#class-projectsettings-property-audio-driver-enable-input>`__ project setting is enabled.
+- `USE_SCENE <https://developers.meta.com/horizon/documentation/native/native-spatial-data-perm/>`__: 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 <https://docs.godotengine.org/en/stable/tutorials/editor/default_key_mapping.html>`__.
+- When interacting with tracked controllers or tracked hands, you can toggle on the
+  `interface/touchscreen/enable_long_press_as_right_click <https://docs.godotengine.org/en/stable/classes/class_editorsettings.html#class-editorsettings-property-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 <https://docs.godotengine.org/en/stable/classes/class_editorsettings.html#class-editorsettings-property-interface-touchscreen-increase-scrollbar-touch-area>`__ editor setting.
+
+**Multi-tasking**
+
+- `Theater View <https://www.meta.com/blog/quest/meta-quest-v67-update-new-window-layout-creator-content-horizon-feed/>`__ can be used to fullscreen the *Editor window*.
+- Enable `Seamless Multitasking <https://www.uploadvr.com/seamless-multitasking-experimental-quest/>`__, 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 <https://termux.dev/en/>`__,
+  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 <https://wiki.termux.com/wiki/Termux-setup-storage>`__ 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 <https://godotengine.org/download/preview/>`__
+  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.