diff --git a/editor/script_editor_debugger.cpp b/editor/script_editor_debugger.cpp index 5995777558b..5ac7f05cef9 100644 --- a/editor/script_editor_debugger.cpp +++ b/editor/script_editor_debugger.cpp @@ -646,12 +646,9 @@ void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_da if (path.find("::") != -1) { // built-in resource String base_path = path.get_slice("::", 0); - if (ResourceLoader::get_resource_type(base_path) == "PackedScene") { - if (!EditorNode::get_singleton()->is_scene_open(base_path)) { - EditorNode::get_singleton()->load_scene(base_path); - } - } else { - EditorNode::get_singleton()->load_resource(base_path); + RES dependency = ResourceLoader::load(base_path); + if (dependency.is_valid()) { + remote_dependencies.insert(dependency); } } var = ResourceLoader::load(path); @@ -2144,6 +2141,7 @@ void ScriptEditorDebugger::_clear_remote_objects() { memdelete(E->value()); } remote_objects.clear(); + remote_dependencies.clear(); } void ScriptEditorDebugger::_clear_errors_list() { diff --git a/editor/script_editor_debugger.h b/editor/script_editor_debugger.h index 2de1db6919c..402e94892b8 100644 --- a/editor/script_editor_debugger.h +++ b/editor/script_editor_debugger.h @@ -100,6 +100,7 @@ private: ObjectID inspected_object_id; ScriptEditorDebuggerVariables *variables; Map remote_objects; + Set remote_dependencies; Set unfold_cache; VBoxContainer *errors_tab;