Page MenuHome

New collections not being created at the selected level
Closed, InvalidPublic

Description

In the outliner when we right-click and select "new", a collection is added inside the highlighted collection (if one was selected before hand). So far so good.

This doesn't happen when a user selects objects on screen and presses M to create a new collection that way.
In that scenario, the new collection is all the way outside all hierarchies at the top level; which is not consistent or expected.


Details

Type
Bug

Event Timeline

Not sure if this is considered a bug...

If you are doing this from the 3DView, it it not clear which parent collection the new collection should be created in (object can be in multiple collections...)
It is also not possible to consider a selected collection from the Outliner here (as you could have multiple outliners open with different collections selected).
Personally I would not consider this a bug.

But getting @William Reynish (billreynish) and @Dalai Felinto (dfelinto) onboard: maybe they have something smart under their sleeves?

It is also not possible to consider a selected collection from the Outliner here (as you could have multiple outliners open with different collections selected).

With multiple outliners open Blender still knows (it seems) which collection entry was last clicked; the text gets brighter white in all collection windows.
I think the user intention should somehow be honored. Some scenes can have deep hierarchies and this behavior makes things very tedious.

With multiple outliners open Blender still knows (it seems) which collection entry was last clicked; the text gets brighter white in all collection windows.

@Thomas Androxman (ThomasAn) : Sorry, my bad, yes the selection seems to sync across multiple outliners...
However: not sure if is good practice to rely on the outliners selection from the 3DView? (you could also have no outliner open at all....)

Maybe the Move to Collection operator could gather all possible parent collections and offer these as a dropdown in the operator options (defaulting to Scene Collection as it is now)?

Maybe the Move to Collection operator could gather all possible parent collections and offer these as a dropdown in the operator options

It is certainly a possibility, but involves more work by the developers

As a product designer my inclination is to always read the trail of clues the user leaves on the interface and follow the locus of attention. In this case I feel Blender has enough clues to decipher intent.

if the user wanted a specific preexisting collection they would have chosen it through the "M" key popup dialog.
However, when the user presses M and then selects +NewCollection while in a 3D view there are two scenarios:

a) If no outliners are open the user either doesn't care where the collection is added, or they are fine with the collection being at the top level (current behavior).
b) if an outliner is open and some collection is highlighted the intention is to do something at that location in the hierarchy. The user is working and clicking there for a reason.

Dalai Felinto (dfelinto) claimed this task.

When calling from the viewport it ignores all the outliners and simply shows the entire collection tree to the user.

What happens is that if you pick the first level of hierarchy it will move to the master (scene) collection.

So no bug here, things are working as intended.

What happens is that if you pick the first level of hierarchy it will move to the master (scene) collection.

So no bug here, things are working as intended.

When selecting a layer/collection and then in the viewport hit Shift+A to add a cube, Blender knows to place the object inside the selected collection ...
... then it forgets how to do that through the "M" interface. I feel we should take UI inconsistencies seriously enough to the level of "bug", otherwise they add up over the years.

The active collection, the one shown in the status bar and in the viewport, is the one used to add new objects.
The "Move" to collection operator is intended to let you move your objects to ANY collection, not the active one.

The active collection, the one shown in the status bar and in the viewport, is the one used to add new objects.
The "Move" to collection operator is intended to let you move your objects to ANY collection, not the active one.

The option to select an existing collection is already given to us (collections shown circled in red), but that is not the point here:

As far as the user is concerned creating a new collection is just another thing to be placed in the outliner hierarchy.
Ideologically it is exactly the same principle as adding a new object to the scene; that too is another "thing" placed in the outliner hierarchy.

In both instances it should be possible to preselect a location in the outliner ... So if it works as expected for adding objects it is only reasonable to assume that by pressing "New Collection" something will be placed in a preselected spot in the outliner panel.

For the last time, (at the moment), what you do in the viewport has nothing to do with the outliner. They are each their own contexts.
You can create "New Collection" when using "M" even inside a sub-collection (e.g., inside GeometryObjects in your case).

Try it with a more dense populated collection tree and see if it makes more sense.

For the last time, (at the moment), what you do in the viewport has nothing to do with the outliner.

Basically "things" in the outliner should always show inside, or next to, what is already selected in the outliner. It is how every list-box control works, every OS interface. Can you imagine trying to create a new folder on Linux or Windows and your new folder ends up always in the root directoy no matter where you initiated the command ?

The outliner is merely a filing system to organize the staff on the viewport.

The topic at hand here is consistency. Try this yourself --> select some collection deep in a hierarchy and then press Shift-A to add a cube on your viewport. Do you see a "think" being added in the outliner inside the collection you had selected ? Same thing should happen to collections. They are just folders.

@Thomas Androxman (ThomasAn) sorry but you are getting the Move to Collection operator wrongly.
That said I exhausted my arguments here and will no longer repeat myself.

That's fine, but It was, I thought, a self evident topic, I just don't understand the need to bring in philosophy about the nature of an operator.

Simply put, the user wants to create a new directory for a bunch of objects and stick that directory in a predetermined spot on the filing system.
(Currently, It is extremely tedious in complex scenes having new directories show up at the root and having to navigate the whole list to find the right spot again.)