GSoC 2019: Outliner Improvements Ideas

Are some of those modifications as separate patches that we can try in our own builds? :slight_smile:

@machieb An invisible filter shouldn’t be too difficult to add, and I can see why that might be useful, adding to the list.

@AbidMaqbool Thanks for the links :slight_smile:

@Zsolt_St agreed. Those datablock names are useful, and tooltips could work as an alternative, but I think the nested datablock makes sense.

@JuanGea Yes, you can try these out in your own builds if you like. Either do

git checkout soc-2019-outliner

Or if you only want certain commits you could make a temporary branch and do some git cherry-picks from my branch to that temporary one.


Yeah, thanks, I’m still a bit new to getting things from other builds and such things, but I’ll get used to it, thanks for this! is what I needed :smiley:


Better handling of Constraints:

Would be nice to:

  • Add the new icons to the Outliner for both objects and bones
  • Add toggles to enable/disable constraints, just like you can with modifiers
  • Add ability to re-order constraints (and modifiers!) in the Outliner itself.



I expect adding the icons for all the object and bone types should be simple enough, same with adding the toggles for constraints (I imagine it would be similar to modifiers)

Reordering from the outliner would be more difficult, but would be a nice touch. I’ve had a few ideas with drag and drop floating in my head these past few days that I’m going to write down and share for feedback, and this would fit in nicely.


Hi! If you’ll try to add the constraints icons here you can find my previous poor attempt to do it: :slightly_smiling_face:

For bones I didn’t know how to get to the correct bone index in which the constraints are stored, so it doesn’t work, but at least you’ll have the switch already written down.

1 Like

A follow up regarding moving around modifiers. If you manage to get it to work, it would be even more awesome if you could make it so you can use copy, cut, and duplicate on modifiers that you can then transfer over to other objects that can use those modifiers, as well as moving them to other objects by dragging.

Also would be nice having the option to delete the entire stack of modifiers through the R click menu for the Modifiers group or using the basic shortcuts for it.


that is Max way and the right way to manage your modifiers. You have a mirror and subdivision modifiers applied to lets say a panel, then you model a bolt as a separate object and you position it into a hole on the half of the panel. You would then copy the panel modifiers and paste it to the bolt. It will automatically mirror that bold to the other panel perfectly in that hole.

That shouldn’t be that difficult. We already support reordering of collections. There is a chance the same code framework can be re-used.


Actually let me rephrase it: This would indeed be neat. Hopefully the current codebase allow this without much effort. It was too irresponsible of me to blindly claim this is easy/hard before giving it a go first :wink:

1 Like

Another issue that came up in, is the fact that it’s currently quite hard to add unlinked Collections into the scene.

If you created Collections by adding them to objects in Properties > Object > Collections, they won’t be added to the scene.

If you could right-click in the Outliner and pick ‘Link Collections’, which would spawn a list of unlinked Collections, that would at least make it much easier to do so.

1 Like

A guy has posted very great idea, 2.8 Outliner feature request

1 Like

One thing that has bothered me time and again is a missing synchronisation between visible and renderable objects.
Meaning I am working on a scene with many collection and many objects, I turn objects on and off, I have it set up the way I want, maybe do a quick check with viewport rendering. And then hit F12 for the high-res final render, and only notice afterwards that some objects were not rendered, or others that I had hidden were still rendered. So then I run through the outliner and visually try to locate the objects that have renderability toggles differently set than their visibility toggles and set them the same.
This problem has been worsened by the fact that the renderability toggles are not shown with the default 2.8 settings. I can imagine new users having a problem with this, not finding why some things render and some don’t.
Maybe there could be a “render visible” button, which would turn the renderability equal to the visibility.
I do not know however how this would deal with helper geomery that you never want rendered.


There is such a button. The check mark, to the left of each Collection.

Ah yes, the checkmark does exactly this. But it’s not available at the object level, which is exactly the problem.

1 Like

Shouldn’t they be linked by default when creating them from the object panel in properties ?


I’m late to the party, but found out that the Scene view of the outliner doesn’t have the object filter like in the Collection view. I prefer the Scene view to hierachy simplicity and still gives me the power of collection visibility - just without all the ghosting and multi collection instancing which can get confusing quickly.

Having even more minimism would be great in the scene view via the filters typical of the collections - also… UI consistency.


1 Like

Another suggestion is like in the View outliner mode, in the Scene mode you should also inverse the highlight so when you select one object, it will highlight the collection it is in.


Hey Nate!

Can you add a right click option to move objects or children one relation layer up?

This would be unique from current parenting options because it doesnt harm origin or local coordinate data, it just changes the parent. Blenders ctrl-P “object” and “keep transform” change the origin and “without inverse” resets the local coordinates. The current Outliner drag and drop has the same issue so I have to manually correct it in the 3D View.

This is also something that could fit within a delete or cut option, like:
“Delete object from the outliner and parent its children one relation higher instead of throwing them out of context somewhere in the scene.”