GSoC 2020: Outliner Discussion and Suggestions

I switched to Blender not that long ago and I highly appreciate the outliner improvements, that made my life a lot easier! Thank you for that :slight_smile:
There are a lot of great suggestions here and I’m looking forward to seeing the outliner become even more powerful!

A few more ideas:

  • Renaming many items could be faster with pressing up and down keys, something similar to:
  • Duplicating an item could be added by holding a modifier key and dragging the item to a different position. (Like in Photoshop: alt+drag item, or Cinema 4d: cmd+drag item,…)
  • Not sure if that’s the right place to address this: it would be great if collections could have coordinates and a gizmo to move them around in the viewport.

The last thing you ask for is the group feature a lot of us are dreaming about.
I also expected the new collection system to act as a bounding box and parent for the objects in it, have it’s own origin and the possibility to put modifiers on it. Then just nest it into another collection and do it again :slight_smile:

Unfortunately it’s more abstract than that. it’s an abstract collection of objects for organizing and visibility, AFAIK it has and can have no representation in the 3D scene at all. (perhaps they could add a solid view color option by collections… but that also would only really help if it acts like a group)

But this is really a long held wish of mine too: I drew and animated in Flash and After Effects a lot - their nested symbol / composition system is crazy crazy crazy powerful.
I haven’t used any but I know some 3D software have similar concepts.
I don’t want to rely on add-ons (like Group Pro) to do this. This could be a beacon feature for Blender.


New outliner paper-cut:

Here is the function that i made.
Double click the collection tag,it will select objects in the collection


Hi Nathan, here are 3 great suggestions from another topic found here:

"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)

  • List item

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."


Not sure if it’s been suggested in this thread yet, but highlighting of objects inside a collapsed hierarchy would be really cool. Currently it’s really hard to spot selected objects in complex scenes. -


This is one of those things that is often frustrating but just small enough I forget to bring it up. I always end up pressing zoom to selected, but we could do better than that.


Ye, seems like a small quality of life improvement, but definitely something that’s coming up frequently when talking to professionals converting to Blender.

Really happy to see how much the outliner progressed though. Looking forward to proper manual sorting.


@kromar I agree with you, more work could be done in this area. Making collections the children of objects would be very difficult because collections are containers for objects, not the other way around. I’m not saying it couldn’t be done, but it’s a very large task that wouldn’t be a good fit for the summer of code.

On that topic, @kynu I agree, a grouped mesh that could support instancing and modifiers would be amazing. I even talked about this with @billrey the other day. Very off topic though, so let’s try to stay more on topic here.

@tintwotin I’ve noted some smaller things that could be done this summer (like drag and drop). Those mockups you have made are great, but I really think that it would be better to make a separate design task for the sequencer workflow.

@Oskar I see the problem. One issue is currently Blender doesn’t allow selection of hidden objects. You can “outliner” select it, but the actual object data is not selected. The Select Hierarchy operator is selecting objects recursively, so when it gets to Sphere.001 in your example it cannot select it. Now that selection syncing works well, a better solution for this operator would be to select the objects recursively with Outliner selection, that way it still syncs to visible objects, but the whole tree is selected for drag+drop. Most of the context menu operators in the outliner will get some fixes this summer.

An alternative would be to drag children with parents when linking between collections.

@LeoSch I hope to make arrow key renaming better in the next few days. The workflow would be Up/Down then F2 to rename. The rename field is a generic UI rename field, so I’m not sure if it could be mapped to Up/Down to rename the next item. That would be great though, so I’ll keep that in mind.

We use lots of modifier keys for drag+drop currently, so I don’t think duplicate would be able to fit well there. For your last point, collection instances!

@Rayfly0225 cool video, but there aren’t any links to your addon so others can benefit!

@dan2 Parent highlighting when active is in a collapsed hierarchy. I really love the idea. and I wanted to do it last summer, we already have 3+ types of highlights in the outliner so this would need to be done right to not add more clutter.


Thanks for the great feedback and suggestions everyone! I’m keeping a list of the smaller improvements to implement alongside my original plans on my design task: Let’s try to keep that design task free of feature requests please :slight_smile:

Now that the summer of code has officially started I’m making good progress with my first task. I’ll start a weekly reports topic tomorrow. Within a few days I’ll be sharing my progress for feedback on the current progress of the mode toggle and activation column.


Hey Nathan, great to see you tackling the Outliner again! :smile:

I’ve been thinking about a small QoL improvement: Currently, when in local mode, the only indicator is the word “(local)” in the viewport, which is very hard to spot sometimes. So, I was wondering if the Outliner could be a visual aid and dim (or even disable(?)) all objects that are currently not in local view.


giving it a try…


or even


1 Like

I’d go with a full length one, almost like a dimmed overlay, similar to other packages. (maybe an option in the theme settings would be cool) Highlighting only that little object data icon could be easy to miss depending on the contrast in the theme settings.


@natecraddock: Hello, you mentioned drag and drop improvements in the outliner.
The problem I have every day with the blender outliner is, that it is not possible to drag and drop one hierarchy into another one because all transformations are lost. You have to select one hierarchy then the other one, move the mouse into the 3D viewport and hit strg+p and select “Object (keep transform)”. That is very cumbersome!
Maybe if I drag and drop in the outliner a popup can appear where I can select if I want to parent with transforms or without! Or it is an option you can set in the outliner options dropdown.
In all other 3D programs I know, you can drag and drop across the hirarchy without loosing the transformations. It would be really great if that would be possible in blender too!
I hope you understand what I mean?!


To make clear what I mean I created a simple blend file.
If I drag and drop the Cube.001 into the Empty it moves in the viewport because it inherits transforms. So drag and drop is not possible with keep transforms.


Alright, first weekly report in: GSoC 2020: Outliner Weekly Reports
Also, there is now a Windows build of my branch:

I committed changes to add a new left column for this task: It works well right now, and I would love some feedback!

@MichaelHermann though that would be great, I don’t think the outliner would be a good solution because local view is viewport-dependant. So you can have more than one 3D view window open each in local view on different sets of objects. I can’t think of a way to cleanly represent multiple differing local views in the outliner.

@lsscpp @dan2 thanks for the mockups. I prefer either brightening the icon highlight, or the full bar, the half bar highlight has some asymmetry. I really would like to think of something other than another highlight if possible though.

@machieb it’s a bit cumbersome, but you can drag+drop parent in the outliner holding Shift+Alt and it will keep transforms. Making drag+drop more intuitive is on my todo list for the summer.


Only thing I’ve seen that could be an alternative is that auto expand/frame thingy that houdini/solaris is doing in the scene graph view, but that might be something that’s more practical with extremely complex scenes, it wouldn’t be viable at this stage - at least until everything nodes comes along.

I guess adding a theme option to change the icon highlight could be the simpler solution, might throw off people coming from other packages though, at least until they get used to it. Most softwares I’m working with have that dimmed highlight option a’la Maya.

Thanks for the great design task an all your work on these improvements! Really looking forward to this project.

1 Like

Parenting through outliner drag’n’drop should show the same “Parent…” popup we get when parenting objects in the 3DView, so that we can choose between “keep transforms” or not (and hopefully one day we get “keep transforms and apply inverse parent matrix”).


Hello everybody! First off, thanks a lot Nathan for continuing in the outliner improvements! After testing a little bit the new Outliner branch, here are my impressions:


I think that the active icon is too similar to the enabled in view layer icon for collections, and being them also very close to each other, I think it might create confusion on their purpose. This is connected also to the second point.


I appreciate a lot having a clearer visualization of the active camera, but for me the active icon of the camera should differ somehow from the active icon of collections and scenes. I understand that it could be for avoiding visual cluttering, but I personally think that cameras are a different concept from collections and scenes, and therefore need a specific icon for the active one. Here are 3 mockups for how it could be:

the first one simply uses the same icon of the camera with a different color: I don’t completely like this solution because it ends up having the same camera icon 3 times in different colors.


The other two use the data icon of the camera for showing the active one. If, as I expect, these could conflict with the idea of syncing the outliner with the properties, I’d say that accessing the camera properties could happen by simply clicking on the camera’s text space and/or orange icon.




I don’t completely understand the need of having an active icon also for the scene collection: isn’t implicit that is active, being it inside the active scene we are working in? Please tell me what I’m missing.


This is aside from the latest column implementation: currently, when we select a collection, making it active, every new object and collection that we create are added to that selected collection. The thing is, if you select a collection and then click outside of it in the outliner, the new object we create will still be added inside that collection, while if we want to add a new collection without it being inside the selected one, we simply need to click anywhere else in the outliner: I think this behavior should work the same with adding objects.


This last entry is made out of a suggestion and what I think is a little bug:

-Currently, for deleting a scene in the outliner we can only right-click on it and select delete. I think it should be possible to delete them by simply clicking X, like with objects and collections.

-BUG: If we delete a scene in the outliner that is not the active one, the scene remains in the outliner, and we have to click or go with the mouse to another editor to actually make it disappear.


That’s true! I have one idea though: Dim only if the mouse is in a 3D viewport window and only dim for the viewport the cursor is in. Whenever the mouse leaves that viewport, the Outliner goes back to normal.

1 Like