Merge pull request #96868 from dsnopek/android-editor-launching-xr-app-fix

Fix launching XR apps from the Android editor
This commit is contained in:
Rémi Verschelde 2024-09-12 09:25:46 +02:00
commit 55f1ae0d41
No known key found for this signature in database
GPG Key ID: C3336907360768E1
3 changed files with 3 additions and 5 deletions

View File

@ -2950,9 +2950,6 @@
<member name="xr/openxr/enabled" type="bool" setter="" getter="" default="false">
If [code]true[/code], Godot will setup and initialize OpenXR on startup.
</member>
<member name="xr/openxr/enabled.editor" type="bool" setter="" getter="" default="false">
If [code]true[/code], Godot will setup and initialize OpenXR on editor startup.
</member>
<member name="xr/openxr/environment_blend_mode" type="int" setter="" getter="" default="&quot;0&quot;">
Specify how OpenXR should blend in the environment. This is specific to certain AR and passthrough devices where camera images are blended in by the XR compositor.
</member>

View File

@ -2550,7 +2550,6 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
// XR project settings.
GLOBAL_DEF_RST_BASIC("xr/openxr/enabled", false);
GLOBAL_DEF_RST_BASIC("xr/openxr/enabled.editor", false);
GLOBAL_DEF_BASIC(PropertyInfo(Variant::STRING, "xr/openxr/default_action_map", PROPERTY_HINT_FILE, "*.tres"), "res://openxr_action_map.tres");
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "xr/openxr/form_factor", PROPERTY_HINT_ENUM, "Head Mounted,Handheld"), "0");
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "xr/openxr/view_configuration", PROPERTY_HINT_ENUM, "Mono,Stereo"), "1"); // "Mono,Stereo,Quad,Observer"

View File

@ -273,7 +273,9 @@ Vector<OpenXRExtensionWrapper *> OpenXRAPI::registered_extension_wrappers;
bool OpenXRAPI::openxr_is_enabled(bool p_check_run_in_editor) {
if (XRServer::get_xr_mode() == XRServer::XRMODE_DEFAULT) {
if (Engine::get_singleton()->is_editor_hint() && p_check_run_in_editor) {
return GLOBAL_GET("xr/openxr/enabled.editor");
// For now, don't start OpenXR when the editor starts up. In the future, this may change
// if we want to integrate more XR features into the editor experience.
return false;
} else {
return GLOBAL_GET("xr/openxr/enabled");
}