From dce2518dc17fca7a5e4583f6a2f53e14343bbd18 Mon Sep 17 00:00:00 2001 From: kobewi Date: Sun, 23 Nov 2025 23:09:14 +0100 Subject: [PATCH] Ensure paths in autoload info --- core/config/project_settings.cpp | 6 ++++++ core/config/project_settings.h | 1 + main/main.cpp | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp index 99a2fc67146..42f2c088860 100644 --- a/core/config/project_settings.cpp +++ b/core/config/project_settings.cpp @@ -1487,6 +1487,12 @@ ProjectSettings::AutoloadInfo ProjectSettings::get_autoload(const StringName &p_ return autoloads[p_name]; } +void ProjectSettings::fix_autoload_paths() { + for (KeyValue &kv : autoloads) { + kv.value.path = ResourceUID::ensure_path(kv.value.path); + } +} + const HashMap &ProjectSettings::get_global_groups_list() const { return global_groups; } diff --git a/core/config/project_settings.h b/core/config/project_settings.h index 546234ebede..a0bf89a2f41 100644 --- a/core/config/project_settings.h +++ b/core/config/project_settings.h @@ -223,6 +223,7 @@ public: void remove_autoload(const StringName &p_autoload); bool has_autoload(const StringName &p_autoload) const; AutoloadInfo get_autoload(const StringName &p_name) const; + void fix_autoload_paths(); const HashMap &get_global_groups_list() const; void add_global_group(const StringName &p_name, const String &p_description); diff --git a/main/main.cpp b/main/main.cpp index 50b9450ead7..0d45c6d5bd2 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -2188,7 +2188,8 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph initialize_modules(MODULE_INITIALIZATION_LEVEL_CORE); register_core_extensions(); // core extensions must be registered after globals setup and before display - ResourceUID::get_singleton()->load_from_cache(true); // load UUIDs from cache. + ResourceUID::get_singleton()->load_from_cache(true); // Load UUIDs from cache. + ProjectSettings::get_singleton()->fix_autoload_paths(); // Handles autoloads saved as UID. if (ProjectSettings::get_singleton()->has_custom_feature("dedicated_server")) { audio_driver = NULL_AUDIO_DRIVER;