No way to make a library override on a collection 'editable' from the outliner or properties #109808

Closed
opened 2023-07-07 08:46:07 +02:00 by Albert-OShea · 10 comments

System Information
Operating system: Windows-10-10.0.22621-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 3090/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 522.30

Blender Version
Broken: version: 3.6.0, branch: blender-v3.6-release, commit date: 2023-06-27 08:08, hash: c7fc78b81ecb

Short description of error
In some cases, you might have a library overridden collection that contains objects that are editable, but the collection itself is not editable. This can happen if a new child collection is added to a source collection that is being linked and overridden by another file, or, if you simply override the content of the collection and not the collection itself. In any case, a collection with a library override that isn't marked as editable is not able to be made editable in any obvious way.

Exact steps for others to reproduce the error
Download attached source.blend and override.blend.
Open override.blend. It is linking and overriding the collection 'Source' from source.blend. The collection's override is not marked as editable (see the greyed-out override symbol next to its name), but the objects inside are.
Try to make the collection itself editable. For example, let's say you want to disable the collection in renders. This property is not editable, which would lead you to try right click the collection in the outliner, and go Library Override > Make > Selected.
This does not work, the collection is still uneditable.

**System Information** Operating system: Windows-10-10.0.22621-SP0 64 Bits Graphics card: NVIDIA GeForce RTX 3090/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 522.30 **Blender Version** Broken: version: 3.6.0, branch: blender-v3.6-release, commit date: 2023-06-27 08:08, hash: `c7fc78b81ecb` **Short description of error** In some cases, you might have a library overridden collection that contains objects that are editable, but the collection itself is not editable. This can happen if a new child collection is added to a source collection that is being linked and overridden by another file, or, if you simply override the content of the collection and not the collection itself. In any case, a collection with a library override that isn't marked as editable is not able to be made editable in any obvious way. **Exact steps for others to reproduce the error** Download attached source.blend and override.blend. Open override.blend. It is linking and overriding the collection 'Source' from source.blend. The collection's override is not marked as editable (see the greyed-out override symbol next to its name), but the objects inside are. Try to make the collection itself editable. For example, let's say you want to disable the collection in renders. This property is not editable, which would lead you to try right click the collection in the outliner, and go Library Override > Make > Selected. This does not work, the collection is still uneditable.
Albert-OShea added the
Type
Report
Status
Needs Triage
Priority
Normal
labels 2023-07-07 08:46:08 +02:00
Member

That's because the collection is a 'system override', and therefore not editable by the user until this status is cleared. See https://docs.blender.org/manual/en/3.4/files/linked_libraries/library_overrides.html#non-editable-overrides and https://docs.blender.org/manual/en/3.4/files/linked_libraries/library_overrides.html#make-editable

You can make it editable here

image

Does this work for you?

That's because the collection is a 'system override', and therefore not editable by the user until this status is cleared. See https://docs.blender.org/manual/en/3.4/files/linked_libraries/library_overrides.html#non-editable-overrides and https://docs.blender.org/manual/en/3.4/files/linked_libraries/library_overrides.html#make-editable You can make it editable here ![image](/attachments/a91b0ef0-fda2-47c5-8a81-3f0c3c1572eb) Does this work for you?
Philipp Oeser added
Status
Needs Information from User
and removed
Status
Needs Triage
labels 2023-07-07 11:46:18 +02:00
Author

Yes this works, but what exactly is a system override? This isn't mentioned in the documentation you linked, and isn't made obvious at all in Blender's UI. I understand that some overrides are non-editable by default, which makes sense to reduce accidental overrides, but the way collections have seemingly different rules for overrides is confusing. Why is it that collections require you to dig through an obscure list that doesn't have a search function, while objects and other data blocks can be toggled much more easily?

Yes this works, but what exactly is a system override? This isn't mentioned in the documentation you linked, and isn't made obvious at all in Blender's UI. I understand that some overrides are non-editable by default, which makes sense to reduce accidental overrides, but the way collections have seemingly different rules for overrides is confusing. Why is it that collections require you to dig through an obscure list that doesn't have a search function, while objects and other data blocks can be toggled much more easily?
Member

System overrides is a term that is not used in the UI, sorry for that, following is the explanation in code

  /**
   * The override ID is required for the system to work (because of ID dependencies), but is not
   * seen as editable by the user.
   */
  LIBOVERRIDE_FLAG_SYSTEM_DEFINED = 1 << 1,

So it is basically just being non-editable by default as mentioned in the documentation.

If I understand correctly, it is not just about collections, it could be scenes as well for example, just stuff up the hierarchy that is unlikely to be edited anyways.


Also: the way you created the override seems this is more or less asking for the collection to not be overriden (therefor not editable by default)?

if you simply override the content of the collection and not the collection itself


Lets have a look at this statement:

This can happen if a new child collection is added to a source collection that is being linked and overridden by another file
Does this mean if a collection override was once editable, it then looses this ability if you touch the source file in a certain way?
If so, it would probably be best to report this separately (to not mix multiple issues in a single report).


Regarding the "missing" filtering support, this was removed on purpose in 21b92a5f31

System overrides is a term that is not used in the UI, sorry for that, following is the explanation in code ``` /** * The override ID is required for the system to work (because of ID dependencies), but is not * seen as editable by the user. */ LIBOVERRIDE_FLAG_SYSTEM_DEFINED = 1 << 1, ``` So it is basically just being non-editable by default as mentioned in the documentation. If I understand correctly, it is not just about collections, it could be scenes as well for example, just stuff up the hierarchy that is unlikely to be edited anyways. --- Also: the way you created the override seems this is more or less asking for the collection to **not** be overriden (therefor not editable by default)? >if you simply override the content of the collection and not the collection itself --- Lets have a look at this statement: >This can happen if a new child collection is added to a source collection that is being linked and overridden by another file Does this mean if a collection override was once editable, it then looses this ability if you touch the source file in a certain way? If so, it would probably be best to report this separately (to not mix multiple issues in a single report). --- Regarding the "missing" filtering support, this was removed on purpose in 21b92a5f31a4
Author

Alright, so some things, collections included, are not editable by default. This makes sense to me. What doesn't make sense is how obtuse the process of making a collection editable is. This is more of a UX complaint now, in combination with how Library Override > Make > Selected doesn't make collections editable as you might expect.

Also: the way you created the override seems this is more or less asking for the collection to not be overriden (therefor not editable by default)?

Yes, but of course there are times where you would change your mind and want it to be editable.

Does this mean if a collection override was once editable, it then looses this ability if you touch the source file in a certain way?
If so, it would probably be best to report this separately (to not mix multiple issues in a single report).

What I mean by this is that when you add a new child collection to a source collection, the child collection appears in the overridden collection in a non-editable state, even if the parent overridden collection is marked as editable. So it doesn't actually touch the parent overridden collection itself, however it doesn't inherit it's editable state. I don't know if that warrants an issue.

Alright, so some things, collections included, are not editable by default. This makes sense to me. What doesn't make sense is how obtuse the process of making a collection editable is. This is more of a UX complaint now, in combination with how `Library Override > Make > Selected` doesn't make collections editable as you might expect. > Also: the way you created the override seems this is more or less asking for the collection to not be overriden (therefor not editable by default)? Yes, but of course there are times where you would change your mind and want it to be editable. > Does this mean if a collection override was once editable, it then looses this ability if you touch the source file in a certain way? If so, it would probably be best to report this separately (to not mix multiple issues in a single report). What I mean by this is that when you add a new child collection to a source collection, the child collection appears in the overridden collection in a non-editable state, even if the parent overridden collection is marked as editable. So it doesn't actually touch the parent overridden collection itself, however it doesn't inherit it's editable state. I don't know if that warrants an issue.
Member

in combination with how Library Override > Make > Selected doesn't make collections editable as you might expect.

this is still not clear to me, if I do this, I get the collection editable, not the contents (this seems expected)
image
(if you select something different, please provide exact repro steps)


What I mean by this is that when you add a new child collection to a source collection,

you mean in the source file? (you shouldnt be able to do this in the overridden collection)

the child collection appears in the overridden collection in a non-editable state, even if the parent overridden collection is marked as editable. So it doesn't actually touch the parent overridden collection itself, however it doesn't inherit it's editable state. I don't know if that warrants an issue.

if I do this in the source file, the collection appears (as still linked -- this also seems expected?)

Sorry if this needs a bit of handholding on my side, but it seems I need very precise repro steps here to get what you mean

>in combination with how `Library Override > Make > Selected` doesn't make collections editable as you might expect. this is still not clear to me, if I do this, I get the collection editable, not the contents (this seems expected) ![image](/attachments/9296148b-30ba-4dde-ae04-cecaf3f9037d) (if you select something different, please provide exact repro steps) --- >What I mean by this is that when you add a new child collection to a source collection, you mean in the source file? (you shouldnt be able to do this in the overridden collection) >the child collection appears in the overridden collection in a non-editable state, even if the parent overridden collection is marked as editable. So it doesn't actually touch the parent overridden collection itself, however it doesn't inherit it's editable state. I don't know if that warrants an issue. if I do this in the source file, the collection appears (as still linked -- this also seems expected?) Sorry if this needs a bit of handholding on my side, but it seems I need very precise repro steps here to get what you mean
Author

Sorry, I should post some screenshots to show you exactly what I mean.

this is still not clear to me, if I do this, I get the collection editable, not the contents (this seems expected)

I'm talking about from the context menu when you right click a collection in the outliner (in view layer mode).

Screenshot 2023-07-07 230622 (Custom).png

I've realized that this button doesn't specifically make the override editable, but makes a new override if one doesn't exist, and that in turn is what makes the override editable. So this means that there is no way to make a collection editable from the outliner (view layer mode) if it already has an override defined, but non-editable. This is what's frustrating about the UI, it's so unintuitive that you have to change to a different mode in the outliner, manually find the collection, and toggle it editable there.

if I do this in the source file, the collection appears (as still linked -- this also seems expected?)

Yes it appears and is linked, but the collection is not marked as editable.

Let's say I create Collection 2 in the source file, and added Suzanne to it. Then, back in the override file,

Screenshot 2023-07-07 231839.png

You can see that Collection 2 is there but, it's not marked as editable, even though I've marked the parent Source collection as editable. This could be intentional behavior even though I kind of expect it to inherit it's editable status from the parent collection, but, as I keep saying, it's just an annoyance to manually go through a list of all overrides to make it editable.

Sorry, I should post some screenshots to show you exactly what I mean. > this is still not clear to me, if I do this, I get the collection editable, not the contents (this seems expected) I'm talking about from the context menu when you right click a collection in the outliner (in view layer mode). ![Screenshot 2023-07-07 230622 (Custom).png](/attachments/7e5d2fe0-1e4a-4f58-bb91-4cf2579702c5) I've realized that this button doesn't specifically make the override editable, but makes a new override if one doesn't exist, and that in turn is what makes the override editable. So this means that there is no way to make a collection editable from the outliner (view layer mode) if it already has an override defined, but non-editable. This is what's frustrating about the UI, it's so unintuitive that you have to change to a different mode in the outliner, manually find the collection, and toggle it editable there. > if I do this in the source file, the collection appears (as still linked -- this also seems expected?) Yes it appears and is linked, but the collection is not marked as editable. Let's say I create Collection 2 in the source file, and added Suzanne to it. Then, back in the override file, ![Screenshot 2023-07-07 231839.png](/attachments/3452fc19-fea0-49f8-9b9a-c1fbf98034f8) You can see that Collection 2 is there but, it's not marked as editable, even though I've marked the parent Source collection as editable. This could be intentional behavior even though I kind of expect it to inherit it's editable status from the parent collection, but, as I keep saying, it's just an annoyance to manually go through a list of all overrides to make it editable.
Member

@mont29 : have you considered making the override icon clickable [to toggle the editable status] in other Outliner views as well (instead of having to do this in the dedicated Overrides view?

@mont29 : have you considered making the override icon clickable [to toggle the editable status] in other Outliner views as well (instead of having to do this in the dedicated Overrides view?

Just use the context menu Make option again to make a system override editable.

Note that this was broken in code for some time, found about it and fixed it this week (fb8c9a2a42), so will be in 3.6.1 release.

Clicking on the icon could be nice usability-wise, but this is UI/UX team area.

Just use the [context menu](https://docs.blender.org/manual/en/3.6/files/linked_libraries/library_overrides.html#make-an-override) `Make` option again to make a system override editable. Note that this was broken in code for some time, found about it and fixed it this week (fb8c9a2a42), so will be in 3.6.1 release. Clicking on the icon could be nice usability-wise, but this is UI/UX team area.
Author

@mont29 Thank you, just tested in the 3.6.1 RC and it works, this issue can be closed now I think. And yeah, the icon thing would be great. There are so many ways to operate on library overrides, from the outliner context menu, properties panel widget, Object toolbar menu, the dedicated Library Overrides mode of the outliner. There's almost an overwhelming amount of ways work with overrides, and I feel like when you first learn about them, you're playing a guessing game of which one is actually the one that does what you want. Anyway this is a good step forward, thank you!

@mont29 Thank you, just tested in the 3.6.1 RC and it works, this issue can be closed now I think. And yeah, the icon thing would be great. There are so many ways to operate on library overrides, from the outliner context menu, properties panel widget, Object toolbar menu, the dedicated Library Overrides mode of the outliner. There's almost an overwhelming amount of ways work with overrides, and I feel like when you first learn about them, you're playing a guessing game of which one is actually the one that does what you want. Anyway this is a good step forward, thank you!

Thanks, closing then :)

Thanks, closing then :)
Blender Bot added
Status
Archived
and removed
Status
Needs Information from User
labels 2023-07-08 15:04:20 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#109808
No description provided.