diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index 89035ca6c19..92c1b1be1d5 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -4356,6 +4356,7 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po undo_redo->add_do_method(instantiated_scene, "set_owner", EditorNode::get_singleton()->get_edited_scene()); undo_redo->add_do_reference(instantiated_scene); undo_redo->add_undo_method(parent, "remove_child", instantiated_scene); + undo_redo->add_do_method(editor_selection, "add_node", instantiated_scene); String new_name = parent->validate_child_name(instantiated_scene); EditorDebuggerNode *ed = EditorDebuggerNode::get_singleton(); @@ -4405,7 +4406,8 @@ void Node3DEditorViewport::_perform_drop_data() { Vector error_files; - undo_redo->create_action(TTR("Create Node")); + undo_redo->create_action(TTR("Create Node"), UndoRedo::MERGE_DISABLE, target_node); + undo_redo->add_do_method(editor_selection, "clear"); for (int i = 0; i < selected_files.size(); i++) { String path = selected_files[i];