diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index f2f8805aaf0..5da19abac3d 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -3411,10 +3411,14 @@ void EditorNode::_update_recent_scenes() { void EditorNode::_quick_opened() { Vector files = quick_open->get_selected_files(); + bool open_scene_dialog = quick_open->get_base_type() == "PackedScene"; for (int i = 0; i < files.size(); i++) { String res_path = files[i]; - if (quick_open->get_base_type() == "PackedScene") { + List scene_extensions; + ResourceLoader::get_recognized_extensions_for_type("PackedScene", &scene_extensions); + + if (open_scene_dialog || scene_extensions.find(files[i].get_extension())) { open_request(res_path); } else { load_resource(res_path);