diff --git a/editor/debugger/editor_debugger_inspector.cpp b/editor/debugger/editor_debugger_inspector.cpp index 50b15a685ca..49fd274e4ec 100644 --- a/editor/debugger/editor_debugger_inspector.cpp +++ b/editor/debugger/editor_debugger_inspector.cpp @@ -96,7 +96,13 @@ void EditorDebuggerRemoteObjects::_get_property_list(List *p_list) } void EditorDebuggerRemoteObjects::set_property_field(const StringName &p_property, const Variant &p_value, const String &p_field) { - _set_impl(p_property, p_value, p_field); + // Ignore the field with arrays and dictionaries, as they are passed whole when edited. + Variant::Type type = p_value.get_type(); + if (type == Variant::ARRAY || type == Variant::DICTIONARY) { + _set_impl(p_property, p_value, ""); + } else { + _set_impl(p_property, p_value, p_field); + } } String EditorDebuggerRemoteObjects::get_title() { diff --git a/editor/inspector/multi_node_edit.cpp b/editor/inspector/multi_node_edit.cpp index 6e4520babf6..9cef60d5c73 100644 --- a/editor/inspector/multi_node_edit.cpp +++ b/editor/inspector/multi_node_edit.cpp @@ -337,7 +337,13 @@ StringName MultiNodeEdit::get_edited_class_name() const { } void MultiNodeEdit::set_property_field(const StringName &p_property, const Variant &p_value, const String &p_field) { - _set_impl(p_property, p_value, p_field); + // Ignore the field with arrays and dictionaries, as they are passed whole when edited. + Variant::Type type = p_value.get_type(); + if (type == Variant::ARRAY || type == Variant::DICTIONARY) { + _set_impl(p_property, p_value, ""); + } else { + _set_impl(p_property, p_value, p_field); + } } void MultiNodeEdit::_bind_methods() {