diff --git a/scene/resources/theme.cpp b/scene/resources/theme.cpp index 928ec2a2f..0656143ae 100644 --- a/scene/resources/theme.cpp +++ b/scene/resources/theme.cpp @@ -179,7 +179,15 @@ void Theme::_get_property_list(List *p_list) const { } list.sort(); + String prev_type; for (List::Element *E = list.front(); E; E = E->next()) { + // Add groups for types so that their names are left unchanged in the inspector. + String current_type = E->get().name.get_slice("/", 0); + if (prev_type != current_type) { + p_list->push_back(PropertyInfo(Variant::NIL, current_type, PROPERTY_HINT_NONE, current_type + "/", PROPERTY_USAGE_GROUP)); + prev_type = current_type; + } + p_list->push_back(E->get()); } }