Sounds like you're after the Grouping Properties mechanism. It's documented in the Grouping Properties
section here:
Below is an example from the docs, slightly modified to place a few properties in the same group. In addition to the code snippet, you'll need to make the script a tool
script (add the tool
keyword to the top of the code) so the below method will be called in the editor...
func _get_property_list():
var properties = []
properties.append({
name = "Rotate",
type = TYPE_NIL,
hint_string = "rotate_",
usage = PROPERTY_USAGE_GROUP | PROPERTY_USAGE_SCRIPT_VARIABLE
})
# Example of adding to the group
properties.append({
name = "rotate_angle",
type = TYPE_REAL
})
properties.append({
name = "rotate_speed",
type = TYPE_REAL
})
# This property won't get added to the group
# due to not having the "rotate_" prefix.
properties.append({
name = "trail_color",
type = TYPE_COLOR
})
return properties