Redesigned Data-block Selector - Feedback Thread

There is a redesign of the data-block selectors in master now.
Initially this was needed to allow library override operations there, but a number of other design changes were done as well.

Basic idea is to add a menu next to the name-button, giving access to a list of operations. The list is supposed to be rather consistent, so that buttons don’t just disappear all the time. In addition to that, some of the buttons that were previously next to the name field are now either inside the menu only, or available as icons within the name field.
For the last bit, improvements for superimposed icons were done too (tooltips & highlighting support).

Refer to the release notes for more details.

This thread is for gathering feedback on the changes, to help polishing things before 2.92 release.

1 Like

I have to say that the removal of the user count is a pretty big loss. Having the ability to know that, for example, the material is shared with another object is pretty critical to knowing if it’s ok to modify immediately or if it’s necessary to copy before doing so. Having to fish that out from a menu is very tedious and time consuming.

Is there at least a way to visually mark the data block as being shared somehow (I don’t personally care about the actual count most of the time… I think… maybe)?

20 Likes

Personally, I too think the fake user status and user count should be visible without having to open the menu. Others disagreed, so to move forward I made the change with the plan to get user feedback on it – so this exact change is the main reason why I created this feedback thread.

What we could do is show the fake user icon on the left if it’s set, and the user count on top of that. There are some design problems to solve for that though.
Actually toggling the fake user can be done in the menu.
I’d like to establish a general design principle for icons: Non interactive icons (indicators) on the left, interactive icons on the right (‘x’ to clear/unlink, eyedropper, duplicate, …).

2 Likes

I would like to go beyond that, Finding out which data-block belongs to which user, is a bit fiddly, Due to UI (While getting constant revisions), I find it a bit difficult to know which blocks belong to which user (Even if we click through the outliner panel at “Blender file” submenu.
*This could become an issue when you want to manually purge something, But its being used by another object and you can’t tell which one, even by searching.

I would actually recommend making the fake user number a clickable button that shows you in a sorted list structure, who are the other users that use the current data block.

3 Likes

Sorry to be so blunt, but this is a terrible idead. Add fake user still is one of the most dangerous features Blender still carries around. William Reynish often said that he saw a necessity to change this behaviour, as well. Not only for newcomers but also for people who are used to using Blender.
I once nearly destroyed 5 hours of work because of Fake User, myself. And that is despite knowing about it and having used Blender for years. This does not help make the interface significantly more readable but it does make it significantly more error prone and click-heavy.

The only reason I can see for Fake User to be buried even deeper now, is if there is a change for it to be default on as well or better yet together with an (optional to all the performance people) dialogue on exit telling you how many datablocks you are going to lose on exit without saving.

Ideally that warning would come with a “make all fake user” option.

Or the warning could also come with a fake user browser that shows all datablocks in categories and with an easy way to selectively change each of them easily without having to go through each object manually.

A warning dialogue on exit would be a one more click solution. Hiding a data-loss option deeper is a very-often-click-and-forget solution, in my view.

Ultimately, though, if Datablocks are going to be overhauled I am personally more in favor of maybe rethinking the “Fake-User” attributes at all, if possible. This is a serious and difficult discussion but it’s one that is probably going to be needed, at some point.

7 Likes

Number of datablock users and fake user must be visible at a glance and must be clickable as it was all the way before. No one wants to click another menu to find this out. Additional menu is fine, but this crucial information and duplication functionality must be exposed.

7 Likes

Why did you make that change, if you think it’s not a good idea then? Could you please return the user count indication and fake user buttons and experiment with that in a branch or something? Hiding it in a menu is a terrible idea.

9 Likes

the fake user system should be removed entirely from blender, this system makes no sense. but unttil then, yea, it needs to be well exposed. hiding it just makes it worse

11 Likes

i think, it is very inifficient to hide the most required operations in menu. For example, i cant just open new image from “image texture” node with this design, i need to make excessive clicks to do it

8 Likes

same thing happened with the modifiers. nothing new here :no_mouth:

I’m also in favor of using this as a chance of rethinking data-blocks.
Deleting a data-block shouldn’t unlink it and keeping it still there under the hood for some weird reason: it should just delete it. I shouldn’t exit from Blender or go to purge to “officially” delete something. If I want to keep a material, I’ll just keep it in the material slots, instead of remembering to make it a fake user so that next time I open Blender didn’t mysteriously disappear.
Still regarding materials, I don’t understand why now we have 3 different ways of making a new material: there’s add new material slot, add new material button next to the empty material slot, and now also add new material in the data-block menu… just make one button that adds a new material point-blank, letting go this odd difference between new material and new material slot.

Now that we’re also having the asset browser, we’ll finally have clearer way to keep assets and materials, both in the file and in a shared directory, I think it’s the best moment right now for getting rid of many data-block behaviors, making them simpler and easier to use.

I didn’t even think about this until you said it, this is a huge throwback.

If you don’t understand the purpose of the fake user system doesn’t mean it should be removed.

1 Like

you gotta be kidding :rofl:

Well, there is no evidence that you know how to use them, nor are you suggesting any replacement for its functionality, so technically he’s right.

1 Like

Now, when Fake user hidden, it is much harder to make local management. Also there is no global management of fake users. Orphan data shows only blocks without real users. But at current session datablock may have user with deleted user. So I will loose block after 2 reloads.

Blender outliner do not show fake user info too

So I suggest to bring back shield button + implement such buttons for blender-file outliner for global management.

p.s. I understand motivation and dropdown is okay. But not for fake user button.
There should be visible status of protection. It is important part for work with libraries.

9 Likes

Well, global management indeed does have huge issues.
Especially for explicit / implicit data blocks, like linked/unlinked collections.

Using these changes today I’m really missing the ability to quickly make a single user copy of shared object data like you could do easily in 2.91 by clicking on the number of users button. It doesn’t even appear to be possible without using search or digging through the object relations (why there?) menu.

image

12 Likes

The same reason for missing U - make a single user hotkey while working with lots of instances (linked data objects)

3 Likes

Fake users/Datablocks are probably too integral to Blenders structure to be removed, I assume. Actuall I don’t think we should remove them. The system has come too far to be simply removed. There are probably quite a few workflows and plugins depending on it, not mentioning the (I assume) technical necessity for Blender to keep them. They just can’t remain as error and dataloss prone as they are right now (and hiding them deeper makes them even more error prone).

I’d condense my earlier post to the following two suggestions, for now.

  1. Invert the beaviour of Fake User Datablocks. Have them enabled and saved by default and have the user take explicit action to remove them.
  2. Have a datablock browser that can list, structure and organize datablocks for the whole scene. Similar to the outliner but for all datablocks with a fast icon to toggle for deletion or if it’s currently referenced in the scene by an object.

Those are just initial thoughts though. Maybe they are both off or the devs already have a better system that is being worked on. Or maybe they prove not so good in practice.
Still, maybe it’s a good idea to talk about this now.
And maybe not only in this small forum?

4 Likes

Simplier words. This system handy. No reason to get rid of it.

  1. Silent saving by default will make huge trashdumps inside project files.
    But(!) there may be system, that will not allow to loose data.
    For example noob mode, that will ask «after saving/closing you will loose N images, M meshes… Are you sure? Yes, purge> Details> Save all>»

Also, perhaps, blocks used before can take Fake user after deleting
For me «not used» is «created and deleted in 1-2 minutes» or «duplicated and deleted right after that» or «material, that was never rendered in eevee/cycles». If I want to keep it for later, I press shield and delete.

And pro-mode as now: silent delete, manual cleanup, manual fake-user management.