Page MenuHome

Outliner Improvements
Open, NormalPublic

Tokens
"Love" token, awarded by xdanic."Love" token, awarded by eobet."Love" token, awarded by xCyborg."Love" token, awarded by manitwo."Love" token, awarded by michaelknubben."Love" token, awarded by rbx775."Love" token, awarded by DaPaulus."Love" token, awarded by machieb."Love" token, awarded by JulienKaspar."Love" token, awarded by lcs_cavalheiro."Love" token, awarded by juanito49."Love" token, awarded by elbox01."Love" token, awarded by jonathanl."Love" token, awarded by 1D_Inc."Love" token, awarded by mauriciomarinho."Love" token, awarded by TheCharacterhero."Love" token, awarded by wo262."Love" token, awarded by Zino."Love" token, awarded by jendrzych."Love" token, awarded by kioku.
Assigned To
None
Authored By

Description

In Blender 2.8 we introduced Collections to manage our objects and scenes. This places more emphasis and reliance on the Outliner, and so now is a good time to make additional improvements to how it works.

I’ve identified a few areas that have potential to make the Outliner more delightful to use.

Synced Selection

In Blender, the selection state is not shared between the Outliner and the scene. This is inconvenient and often impractical, but it’s also confusing. If you select something in the viewport, the same object is not selected in the Outliner. But if you select something in the Outliner, it overrides the selection inside the viewport. The selection is synced one way but not the other. It’s half syncing in a confusing way.

It also means that we need two confusing ways of showing selections - the highlighted row and the icon circle.

I think we can make this a lot easier to use. Here’s how:

We add a toggle inside the Filter popover called Synced Selection, just like we have in the UV Editor. This should be on by default I think.

With this option on, the selection state is shared between the Outliner and the viewport. This makes everything simpler, because users don’t have to worry about selecting things twice. If something is selected, it’s selected in both Outliner and viewport, always. With this enabled, we can get rid of the yellow-on-yellow circles that make the icons hard to read, and use the same colors for selected and active as we do in the viewport:

With this option off, the selection state is completely decoupled, rather than the current half-syncing system that tries to only sync one way. So it’s either fully on or fully off.

This should make selection in the Outliner a lot more straight forward by default, in a way that’s both more efficient and less confusing in the vast majority of use-cases.

Selecting

We can make two nice improvements to selecting in the Outliner

1: Box Select by dragging from the left gutter. We can use this empty area to our advantage, so that users can always start a box selection by dragging from here and around items.

Likewise, we can also support deselecting by clicking in this area, without having to scroll down to an empty section to click outside any items.

2: Select all items in-between when holding shift / select individual items by holding Ctrl.
When holding shift to select multiple items, we can select all the items in between.

Users can then use Ctrl to select individual items without the ones in between.

Pull items in and out of Edit Mode

In 2.8 we added the ability to bring multiple objects into Edit Mode. However, it’s not easy enough to pull in more objects into the Edit Mode session, or to evict items from it. The Outliner can be of great use here. Here’s how I think we can solve it:

When in Edit Mode (or any mode that supports editing multiple objects), we add a fourth column of toggles. Using these, it’s easily possible to either add in any items into your session, or to evict something you are done editing.

As a bonus, the also makes it easier to see which items are in the mode and which are not.

Visibility

@Dalai Felinto (dfelinto) has a patch here to simplify the visibility toggles here: D4011
This also adds proper support for hiding collections without overriding the hidden states of the contents.

Misc

  • T57855 Ability to drag multiple items at once to parent
  • T57746 Dragging across the disclosure triangles moves item rather than opening/closing

Details

Type
Design

Event Timeline

William Reynish (billreynish) triaged this task as Normal priority.
Wo!262 (wo262) added a subscriber: Wo!262 (wo262).
Wo!262 (wo262) removed a subscriber: Wo!262 (wo262).

Will you consider adding unlinked collections management to this design document? I made a small proposal to not use another outliner for orphan collections. I hope you check it out https://blender.community/c/rightclickselect/ltcbbc/

Well, sounds nice and very welcome.
I've ordered to my developer selecting all outliner object between two selected (we've got too long lists for box selecting) just a few days ago, so Shift and Control modifiers are very needed.

@Wo!262 (wo262): Yes, an easier way to add unlinked Collections is fairly important I think. Currently it's both an arduous process, and very difficult to find.

I can think of several ways to go about this, one of which is something similar to your proposal.

@William Reynish (billreynish) : not sure if this is off-topic, but could we add multi-object-drag-drop for parenting to the list?
(right now it is possible to multi-object-drag-drop to collections -- but not to other objects [for parenting]... which seems a little inconsistent)

@Philipp Oeser (lichtwerk): yes, this was already added to the Paper Cuts list, but I added a link to it here too.

Hi, @William Reynish (billreynish) I am absolutely loving this improvements, they will make the "Outliner" more dynamic and more robust.
But would you take autoscroll-in-the-outliner into consideration?

I'm all for everything that's said in this proposal. The syncing of the selections could cause problems when a lot of linking is involved but that's why keeping it optional and either completely on or off is a great idea.

  1. Could you help me to understand why there is possible to change order of collections, by dragging in outliner but is impossible to rearrange objects order which are inside collections ? Isn't object rearranging also useful thing ? Or maybe it is possible but I didn't find how....
  2. Why Delete shortcut also works only with collection but not the objects ?
  1. Could you help me to understand why there is possible to change order of collections, by dragging in outliner but is impossible to rearrange objects order which are inside collections ? Isn't object rearranging also useful thing ? Or maybe it is possible but I didn't find how....
  2. Why Delete shortcut also works only with collection but not the objects ?
  1. because objects are autosorted
  2. to provide ability to clean scene structure, leaving content untouched.

I wanted answer more from usability point of view.

  1. As I see It limits users ability to tidy up structure of objects are there any usability benefits why it's restricted only to collections?
  2. Selecting thing in outliner, and then move mouse over 3D viewport (because then delete shortcut works) doesn't look like very convenient way to delete and it is inconsistent with other editors where delete - deletes. Also there is inconvenience the other way around when I select collection and move mouse cursor on 3D viewport delete shortcut doesn't work it works only in outliner.
  1. Well, Users are creating objects, that increases entropy.

Users cannot tidy up sorted lists, they just can bring a mess in it. If sorted list doesnot fits they needs, that means, that users messed up with object's naming.
So they have to wisely fix their naming or use collections to sort something out (as they were using layers in 2.79). Maybe both of them together.

  1. Try to ask for special shortcut like Shift+X for deep through-structural outliner selection remove.

@Dalai Felinto (dfelinto) Sorry I was not able to try it out. Maybe you can send me a build. I can't really figure out what the 3 levels of outliner visibility means from the description alone.

I think there's another helpful feature I'd like to propose:

Currently when creating a new collection either with the shortcut "C" or with the collection button in the top-right corner, it will create a new empty collection under the one that is actively selected (the white circle behind a collection).
Often times I want to create a collection with my selection of objects being automatically moved to the new collection. But currently I have to select the active collection, create a new collection there and then hit M in the 3D Viewport to move the selection to the new collection by navigating a possibly long menu with many submenus.
The proposed synced selection can help with this but I'd suggest to add this:

The hitting C or the top-right button it will create a new collection below the actively selected collection but when objects are selected it will move the selection into the newly created collection and place the new collection in the top-most collection that the selected objects are nested in.


So in this example selecting the Sphere and Cube and then hitting C to create a new collection, instead of resulting in this:

it should result in this:

Ctrl is currently used for linking so this can be used here as well. When hitting Ctrl + C or Ctrl clicking the button the objects could be linked into the new collection:

If the placement of the new collection should still be inside the actively selected collection then that would be fine as well. I guess this can give extra control but always requires some extra attention of which collection has the white circle currently.


Another feature that I'm not sure I proposed before but would save me a lot of time is this:

Currently these are the top options when RMB clicking a collection.

The option that I am missing is "Duplicate Hierarchy". When duplicating a collection it links all contents instead of duplicating them as well, which can be very useful , but most of the time I want to duplicate the contents as well.
There's no easy way of doing this currently sicne duplicating the collections will always link the contents, so I have to create new collections, rename them, duplicate the objects I want in them and move them to the new collection, rinse & repeat for every nested collection.

Often times I want to create a collection with my selection of objects being automatically moved to the new collection.

Using M in the 2D viewport you can do just that. At the "bottom" of each of the levels of the menu you can move the objects to a new collection.

The option that I am missing is "Duplicate Hierarchy". When duplicating a collection it links all contents instead of duplicating them as well, which can be very useful , but most of the time I want to duplicate the contents as well.

Sure I believe we could have this.

@Dalai Felinto (dfelinto)

Using M in the 2D viewport you can do just that. At the "bottom" of each of the levels of the menu you can move the objects to a new collection.

True. It would be nice to have the possibility to do this in the Outliner as well though. Also in the M menu there is no way of creating a new nested collection.
The frustrating thing for me is navigating a dozen sub-menus when pressing M when I already have everything visible and selected in the Outliner as well.
Being able to do it in the Outliner as well would mean that I can do it all in the same Editor without needing the 3D Viewport for Outliner management and no extra long popup Menus.

This is really going the right way! With all items in this proposal implemented, and Shift-Click to fill selection enabled, the outliner finally becomes almost perfect, solving all previous limitations and shortcomings.

Only thing missing is making the toggles (visibility, selectability and renderability) affect all selected items, rather than just the one clicked, if possible.

Great work.

2: Select all items in-between when holding shift / select individual items by holding Ctrl.
When holding shift to select multiple items, we can select all the items in between.
Users can then use Ctrl to select individual items without the ones in between.

This should probably be reversed to match current selection paradigm :

  • shift to select another element
  • ctrl to select path

This should probably be reversed to match current selection paradigm :

  • shift to select another element
  • ctrl to select path

That is the inverse to the current industry standard. The selection paradigm should follow what Microsoft has been doing with the File Explorer for the last three decades, otherwise new users will be confused.

The current outliner selection method and what you propose could be options, just as right click select has become.

I have some more notes on improving the Outliner usability:

  • Drag over arrows to open/close multiple collections in a row instead of moving collections. This makes it consistent with opening tabs in for example the properties editor.
  • The right click operators "Hide/Show one level" should only effect the selected collections instead of the entire outliner. When the user wants to affect all collections they can select the scene collection first.
  • Add a "Duplicate Hierarchy" option. Currently there is no easy way to duplicate a collection while also duplicating its nested components. Since there is also a "Delete Hierarchy" option this addition makes sense.
  • "Duplicate Objects" and 'Duplicate Linked" should be possible from the Outliner without selecting and duplicating objects in the viewport. The latter often results in objects being duplicated in every collection that they are linked to. Being able to box select some object with the Outliner specific selection and duplicating them in only that sepcific collection should be possible.
  • Make it more clear that a selected object or collection is within another collection. Currently this is indicated by a slightly white highlighted circle around one of the nested items to the right of a collection but this is way too subtle to be visible. On bigger icons like instanced collections the circle is barely even visible at all.
  • With very big collection nesting and long collection names it happens that the names are blocked by the restriction columns to the right. There is apparently a limit to how far you can scroll sideways and eventually long names will be obscured to the right, forcing you to enlarging the Outliner even more.
  • When selecting a linked collection show the highlight for every linked version as well. When selecting an object it will get a highlight in every outliner collection it is linked to. This sort of indicator should also be added for collections.
  • And if it's not too complicated: When opening an instanced collection, being able to further open the nested collection within, further adjusting and changing assets even from the instance (for example selecting an object and making changes to the material assigned to it).

@Julien Kaspar (JulienKaspar): it’s a good list. It’s often times getting these kinds of smaller details right that make a real big difference. I would hope there’s time before release to look at improving the Outliner. We are relying on it more now, and it has some real annoyances still.

Since I had what I thought was a bug labeled as a feature request, I guess I'll add that here then instead:

  • Shift click (instead of control click) an eye icon to hide unselected, to bring parity with the Shift-H shortcut, and make this a toggle (or alt click to bring back, for Alt-H parity if you wish).
  • Control click an eye icon (or display icon) to also hide all of the children of that node in the tree. This should also be a toggle.