Selecting multiple hierarchies at once in the Outliner not possible

Currently in version 2.81 I can use right click context menue on one selected parent object and chose “select hierarchy” to select the hierarchy. If I have multiple parent objects selected and I try to use “select hierarchy” only the last selected hierarchy gets selected. All the other hierarchies stay unselected!
To my understanding “select hierarchy” should work for all selected parent objects. Having a huge scene let´s say from CAD data, it´s a usual workflow to select multiple hierarchies at once just for deleting them for example.
EDIT:
And it also does not work for collections. Meaning, if you have a ton of collections and need to select, delete them AND their contents, you will have to select each one and delete it.

5 Likes

Despite the advances of the Outliner in 2.81, it still lacks some basic functionality compared to other software applications.
Being able to select multiple hierarchies at once is one of these basics.
Hopefully the devs can keep the advances for the Outliner going for 2.82 and higher, so we can get function parity asap.
For now I see people going back to their software due to these omissions.

It’s often the small things people miss, not the extended functionality between apps. :wink:

3 Likes

Yes the outliner still has some quirks for example.

  1. Deleting parent should at least ask if you want to delate the children and not throwing them in the main collection making a mess.
  2. Dragging parented objects between collections makes a mess in the outline(2.82A). One would think that by default dragging parent to a new collection would also move the children…
9 Likes

the outliner is still the biggest reason why I can’t imagine going to Blender to make large environment scenes. Scene organization is so important! I think a lot of hobbyists and non-industry people (who seem to make a large chunk of the community) don’t really put enough emphasis on how important this is.
I really like Blender for modeling single items, props, etc, but handling a large scene is a real pain (inconsistent hotkeys between outliner and viewport, unintuitive drag and drop functions, weird hierarchy selections, non unique batch naming, etc, etc)
Collections are nice IN THEORY, but honestly just make your outliners be a weird mess of duplicate and missing objects. Why not just make them work like Layers in maya? pretty straightforward imo.

5 Likes

Yes, anyone who has worked on larger scenes and projects becomes quickly frustrated with the quirks of the Outliner.

My biggest issue is that Collections try to do scene organisation -and- render setup in the same set.
Coming from Maya and Softimage you quickly see the problems that arise on more complex scenes and render setup. It becomes a jumbled set Collections and objects living everywhere, making mistakes an almost given.

But being able to select, move or delete whole sets of hierarchies at once is a must for the Outliner, and will make a better workflow in Blender. Hopefully the latest workflow updates will not stall at 2.81, as it seems 2.82 will still inherit some of the quirks that are still there.

Sadly 2.82 doesn’t improve the situation much.

  • you still can’t select multiple hierarchies
  • you still can’t select a hierarchy of hidden parent objects (IMHO visibility should not effect selection behaviour in the Outliner)
  • you still can’t move a selected hierarchy from one collection to another without creating duplicate references.

Generally speaking, as soon as you try to restructure a scene graph with empty-hierarchy into a collection structure, you are screwed. I really hope that the team keeps up the great work and will give the Outline the love it requires.

6 Likes

Collections should never be part of the outliner imo, that’s why there’s too much struggle, conflicts and complexity in the outliner…
Collections should be a separate manager, similar to how it’s done on other packages… Hassle-free…

6 Likes

+1. It’s a huge mess to have it in the outliner.
C4D nailed it perfectly with their Layers and Takes systems.

Also many concepts of XSIs explorer could be an inspiration. The collection concept though is currently a huge problem. As there are no “rules” for what can be in a certain collection or not, this is a bad concept for binding stuff together for rendering or overrides later on…
Also the many different types of hiding and showing stuff is pretty confusing. Actually you can switch three types of visibility in the outliner wich causes trouble a lot of times. Hitting “H” for hide should hide the object in all aspects. Switching specificly for rendering or viewport is at least to me more of an exception. HIDE should mean HIDE, right? :wink:

2 Likes

@natecraddock, I’m really excited to see you working an the outline again for this years GSOC. Im sorry to direct these requests for vitally functionality needed in the outliner, but @pixtur covered 3 very important ones here, I hope they can be included in your proposal for enhancements if they are not already. Thx for your efforts!

2 Likes

Any luck with selection multiple parents and selecting their children? Maybe there’s an addon? Outliner needs a lot of love.

1 Like


Look at option
Select Hierarchy Multi for multiple selected objects

I guess it’s a little unclear. But you can select multiple hierarchies at once. Just not in the ‘view layer’ context. For deletion or parenting, the ‘scene’ context in the outliner is the place to do it.

The ‘view layer’ in the oultliner, to me does behave a little weird. By default if you select a top level of a hierarchy then you want to bring the whole hierarchy with it (have the whole hierarchy selected from the top node with a single click). But at least it should behave like the visibility where you shift click to select the whole hierarchy.

I know, but selecting multiple hierarchies is not possible. If you know how, let me know!

The outliner is one of the biggest problems of Blender imho and nobody really takes care of that. Some things got fixed in the last year. I allways say, please take a look at XSI and how they did it. It would make Blender soooo much faster and way more efficient. And yes, weird behavior is one the biggest things. With hidden objects can´t be done anything for example in the outliner, which makes no sense at all like parenting or something else…
View layers and scene handeling and the collection thingy is also way not sufficient for “pro” work…
Still no overrides for materials in the collection context for example…that would already help a lot…sigh…

cheers,
oliver

Look at my previous post

import bpy

bpy.ops.object.mode_set(mode = 'OBJECT')

selection_names = [obj.name for obj in bpy.context.selected_objects]

for o in selection_names:
    obj = bpy.context.scene.objects.get(o)
    bpy.context.view_layer.objects.active = obj
    obj.select_set(True)
    bpy.ops.object.select_grouped(extend=True, type='CHILDREN_RECURSIVE')

Thanks, but “out of the box” there is no solution…“yet”…may take some more years to be inplemented :wink:

As I understood there are no plans for Outliner until next summer or even maybe next next summer… so “solution” only as addon I suggested which adds some menu entries for the Outliner

Thanks!
So “years” seem to be the proper “timescale” for stuff like that…a pity. instead of pushing countless new features, the fundamentals should be done RIGHT first. So my guess, all the “pushes” from the “outside” won´t lead to a “better” Blender.
I was pretty positive about blender, but I am loosing my confidence, they want to be taken seriously by studios and so called “pros”. So much good and profound suggestions are all over the place. So sad…dealing with large amount of objects and building hierarchies in Blender, arranging and sorting stuff in the outliner will stay a pain in the a** then…so be it…:wink:

1 Like

@owei This rough code can multiselect hierachys and collections

#create operator class
class multiSelector(bpy.types.Operator):
bl_idname = "multi_selector.1"
bl_label = "multi select object hierachies or collection hierachies"

def execute(self, context):
    selection = bpy.context.selected_ids
    collection = False
    
    for item in selection:
        
        if str(type(item)) == "<class 'bpy_types.Collection'>":
            collection = True
            pass
        else:
            pass
        
    if collection == True:
        print("Collection true")
        
        for item in selection:
            for obj in bpy.data.collections[item.name].all_objects:
                isSelect = obj.select_get()
                if isSelect == False:
                    obj.select_set(True)
                else:
                    obj.select_set(False)
    
    else:
        sel_objects = []
        
        for item in selection:
            bpy.context.view_layer.objects.active = item 
            bpy.ops.object.select_grouped(type='CHILDREN_RECURSIVE')
            sel = bpy.context.selected_objects
            
            sel_objects.append(item.name)
            for obj in sel:
                sel_objects.append(obj.name)
        
        for obj in sel_objects:
            obj = bpy.data.objects[obj]
            isSelect = obj.select_get()
            if isSelect == False:
                obj.select_set(True)
            else:
                pass
        
    return {'FINISHED'}   

# register operator and create keybinding
def register():
    bpy.utils.register_class(multiSelector)
  
    #add keymap for shortcuts     
    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon
    if kc:
        km = kc.keymaps.new(name='Outliner', space_type= 'OUTLINER')
        kmi = km.keymap_items.new("multi_selector.1", type='Y', value='PRESS', shift=False, alt =False, ctrl=True)
        addon_keymaps.append((km,kmi))

Thanks Jan Erik!

Hope it will be in Blender by default some day though :wink:

Cheers,
oliver