Group/Ungroup Selected Objects (or Parent to Empty 2.0)

I like to have very clean and organized scenes when working with Blender. Collections are a great way to do this and I use them a lot. But relying only on collections is sometimes not enough, so I also like to “group” my objects by parenting them to empties. That’s also a usual workflow in other 3d softwares as far as I know.
I know that there is the “Parent to Empty” option in the “Extra Objects” add-on but I am missing some features like taking orientation of the object or cursor into account or applying the parent inverse matrix automatically.
That’s why I wrote this little add-on here and maybe it’s also helpful for someone else.

Group/Ungroup Selected Objects

(or Parent to Empty 2.0)

Summary

“Group” all selected objects by parenting them to a new created empty. You can choose between local space, active object or cursor for the pivot placement. The empty is linked to the same collection(s) like the active object and if Keep Relationship is enabled it’s also parented to the same parent. Rotation values are also taken into account for the new empty (depending on the chosen pivot). The objects are parented to the empty with keeping transforms and the parent inverse matrix is automatically applied.
If nothing is selected, only an empty will be created linked to the active collection.
“Ungroup” will reverse the above changes by keeping the objects transformations after unparenting and removing all the selected empty/empties.

Hotkeys

Shift + P: Group selected objects to an empty.
Shift + Alt + P: Ungroup objects of selected empty/empties.

Menus

There are two places you can find these operators:


3D View > Object > Parent > Group/Ungroup


Object content menu > Parent > Group/Ungroup via right click.

Manual

Group

Create a new empty and parent all selected objects to this empty. The active object might be important for the Pivot, Keep Relationship and Naming options (see below).

Pivot

Local Space: Set pivot to parent object origin. If there is no parent, set to world origin.
Active: Set pivot to active object origin.
Cursor: Set pivot to cursor.

Rotation Mode

Set the rotation euler mode for the new empty (useful and sometimes needed for rigging and animation afterwards when dealing with gimbal locks).

Keep Relationship

Parent the new empty to the same parent of the active object. If disabled, the new empty has no parent.

Naming

Name: Set the name for the new empty. If this text field is empty, the name of the active object will be taken instead.
Suffix: Will be added at the end of the name of the empty to prevent name clashes. Will not be used for the “Add Prefix” option.
Add Prefix: Adds the name as a prefix to all children objects of the new empty.

Viewport Display

Size: Set the viewport size of the new empty.
Annotation: Show the name of the new empty in the viewport.
Show In Front: Show the empty always in front of all the other objects.

Ungroup

“Ungroup” objects by unparenting them from the selected empties but keeping their transforms. If the selected empties have a parent, the objects are parented to them instead.

The empties are removed afterwards. You can select multiple empties at once, also if they are in the same hierarchy.

File

group_selection_v1.0.zip (7.7 KB)

6 Likes

I updated the addon for Blender 4.2, so it’s an extension now.

group_selection_v1.1.zip (2.5 KB)

1 Like

Thank you, its very helpfull!

1 Like

Thanks :slight_smile: glad you find it helpful!

1 Like

Dude, I’m so grateful that I just registered to thank you. I came from C4D and Maya but I need to collab with another department that uses blender and I lost so many hours just trying to wrap my head around the outliner. Still not making sense most of the time but being able to group things to a null object saves me a LOT of time with my scene. Thank you so much again!

Cheers!

2 Likes

You are welcome and I am glad you like it and find it helpful! :slight_smile:

1 Like

Agree with @Nutritivo

This is a handy addition and a step up to the original one that came with Blender.

And yes, Blender’s outliner is still way behind compared to other 3d applications.
And no, collections isn’t an answer to grouping stuff together all the time :wink:

cheers for the addon/extension!! :+1: :slight_smile:

2 Likes

I -think- I found a small bug.

If you turn on/off the prefix toggle after the parenting, the root of the hierarchy jumps back to the origin.
Not sure if that’s intended behavior?

Hey, glad you also like the add-on and no, this is not intended.
I checked it in Blender 4.1 and it’s working there. Seems to be broken in Blender 4.2 only. Changing the settings in the toolbox will first undo the add-ons operation and then redo everything. But for some reason the transformation matrix of the active object is zeroed out after the second pass. That’s why switching the pivot from Local Space to Active is also not working anymore in Blender 4.2. :frowning:
Might be a bug in Blender 4.2 I have to report. But I will keep trying before. Maybe there is something I am missing …

Ah yes… 4.2 LTS here.

And as usual Blender breaks a lot of stuff every new version, so not unexpected… :wink:
Hope you find the solution, or file a bug at BF.

Found out there is already a report for this issue :smiley:

Someone also mentioned a workaround there I can use.
Will fix it and update the script today.

1 Like

Sorry, took me a little bit longer but here it is:

group_selection_v1.2.zip (2.7 KB)

Yup, that all seems to work fine now :slight_smile:
One tweak for the " if you ever find the time’…

The ability to set the empty shape from the panel. I know you can do this in the property panel, but it would be nice to have that option living there as well.

But thanks a lot for this! :+1: :+1:

Hey, this option makes sense. I added it now, thanks for the request :slight_smile: .

group_selection_v1.3.zip (3.0 KB)

1 Like

Hey man,

Thanks for adding this in, works perfectly!! :slight_smile: :+1:

It already became a standard tool in my workflow.
So again, thanks for creating this little nugget. :wink:

1 Like