|
@@ -3710,7 +3710,9 @@ void EditorNode::set_addon_plugin_enabled(const String &p_addon, bool p_enabled,
|
|
|
// Only try to load the script if it has a name. Else, the plugin has no init script.
|
|
|
if (script_path.length() > 0) {
|
|
|
script_path = addon_path.get_base_dir().path_join(script_path);
|
|
|
- scr = ResourceLoader::load(script_path, "Script", ResourceFormatLoader::CACHE_MODE_IGNORE);
|
|
|
+ // We should not use the cached version on startup to prevent a script reload
|
|
|
+ // if it is already loaded and potentially running from autoloads. See GH-100750.
|
|
|
+ scr = ResourceLoader::load(script_path, "Script", EditorFileSystem::get_singleton()->doing_first_scan() ? ResourceFormatLoader::CACHE_MODE_REUSE : ResourceFormatLoader::CACHE_MODE_IGNORE);
|
|
|
|
|
|
if (scr.is_null()) {
|
|
|
show_warning(vformat(TTR("Unable to load addon script from path: '%s'."), script_path));
|