Add option "Auto Add Fake User" to user preferences

but the tooltip can say something like “Protect. Save this even if it is unused”.

I’m honestly unsure why my data needs protecting, ideally the software I use shouldn’t have a main objective of harming my data, and it should definitely not be harming my data in an operation called… [check notes]… save?

Having a fake user button or worse introducing checkboxes to control said button in the user prefs panel is akin to installing a “do not pump exhaust into the main cabin” switch in my car so it doesn’t harm me. Not harming me (or my data) isn’t a feature, it shouldn’t require switches or knobs! it ought to be the default behavior.

I’s been 1.5 years since @Ton said this deserved “top priority” but not a whole lot has happened from the core team in this area seemingly.

This PR/Proposal makes a valiant effort of protecting the user, but the data eating monster at the core is still very much there.

10 Likes

I think the garbage collector should just do its thing, and if you don’t use something, then you don’t need it.

1 Like

I think the garbage collector should just do its thing, and if you don’t use something, then you don’t need it.

I gonna respectfully disagree here, Blender deleting my node groups, textures, meshes and lying about it until I open the file again tomorrow because “I wasn’t using them” isn’t OK, was never OK, will never be OK. Delete your own internal stuff all you want, hands off the things the user makes.

15 Likes

Blender doesnot delete anything, user does.
In Blender objects are like folders and all the data are like files.
If you delete a folder on your OS, your files will also be deleted, and this has always been OK.

This is not true. A huge and massive amount of work has been made in order to realize the full context behind this issue.

2 Likes

Nope, if I have a material that I haven’t used on an object but still might need later, Blender will remove it unless I hit the Fake User button, that’s just poor UX, the program should NOT delete anything unless I tell it to, it currently works backwards, I have to tell it to please not remove any data, that makes no sense from a usability perspective.
Give me better options and UI to manage the data and decide what can be deleted, but don’t force me to learn a weird workaround to ask the program to keep my data intact.

2 Likes

all of them enabled by default

Currently when user manually deletes data, it’s not being removed, but rather marked as unused. And with all datablocks getting fake user by default, data will not be deleted ever.
The only way to remove data is through Outliner in Blender File mode.

What’s the point of setting all data with fake user by default? Just disable GC on save, at least that way File → Cleanup will continue to work.

1 Like

well, if we’re splitting hairs, technically blender didn’t “delete” anything, it just silently didn’t “save” it, the end result is the same though, my stuff is gone.

  1. Start with the basic cube
  2. Switch to the shader editor, make the cube a nice green, name the shader “ShaderA”
  3. Then go, you know what, maybe red be better, I don’t want to lose my green shader, so I click the new material button, change the color to Red, and name the shader “ShaderB”
  4. I flip between red and green a few times, hmm tough choice…leave the cube on red / ShaderB
  5. Save the file
  6. click the shader drop down, both ShaderA and ShaderB are there, all is good in the world, i’ll sleep on it and decide tomorrow!

next day, i made my choice! Green it is!

  1. Open the file from yesterday
  2. Only the red “ShaderB” is there now, shaderA vanished because “I wasn’t using it”

Nowhere in this use-case did I ever “delete” shaderA…it just…vanished, even though i checked after saving it was still listed.

but somehow this is my fault cause i didn’t check the “please don’t maul my data” button

14 Likes

If only we could get rid of the fake user system entirely…. :weary:

4 Likes

There is no need to explain it, this side of a medal is known pretty well.

Can you elaborate on “Blender doesnot delete anything, user does.” ? I think i may have misunderstood what you meant there.

There was too many discussions and explanations around that issue already.
At the end, there are two possible stable system design states - designed for collaboration and designed for personal use.

Current Blender solution (objects are like folders and data is like files, files out of folders should not exist) fits collaboration but is not convenient for personal use, the other solutions which is used in different software (all files are dumped to the C:/ drive, and the folders are just temporary links) fits personal use but destroys collaboration.

We can switch the system to the way that fits personal use just tomorrow, there are lots of possible solutions that lead this way, but all of them assumes sacrificing collaboration requirements.
The solution which could satisfy both is unknown at the industry level, since personal use and collaboration system design requirements are mutually exclusive.

The whole point of having this list of checkboxes is because we do not actually all agree on what should be automatically saved when there are no users. Most people can keep them all enabled and never think about it, some might unselect “actions”, others might unselect all of them. Or this could be set by project or enforced by employer.

You would only see that “Protect” shield for those types of data that you have explicitly turned auto-saving off. So by default you would not see it. My suggestions regarding it were how to make it more informative for the times you do elect to see it.

4 Likes

This is not true, and you know it is not true. You simply prefer that it does delete it.

I have read the hundreds of replies and debates on this, from several of the PRs that have tried to address this… and sorry, I’m not going to play semantics with this.

1 Like

Yes, mutually exclusive like a checkbox. Your collaborating professionals could just uncheck all those boxes and the behavior would be the same as today.

2 Likes

Then nothing will be deleted.
File → Cleanup will not work.
And there will probably be a string of threads: “Why my simple scene is 2GB”.

“Oh no, my file is 2GB” vs “Oh no, all those data are GONE.”

Hard drives are cheap. Time is not.

My image editing application doesn’t delete all my image layers just because they’re hidden, and not being used in the comp. My layout program doesn’t delete master pages that aren’t being used in the document. My NLE doesn’t delete footage that isn’t in the timeline.

Leave the checkboxes off at your studio = no problem for your employees.

4 Likes

Do you count time of sorting and handling 4000 garbage materials per scene mixed with useful data?

It doesnot work like that, nobody will do this, including me, as soon as the checkbox will became available. Eventually, it will be one-way ticket.

Your image editing application delete layers when you press delete button. Blender does not.

No, Blender deletes the data when I choose save and close the file. Which is so completely logical. :thinking: It doesn’t even warn the user “You’ve got 20 materials that are about to be burned. You fine with this?”

File → Cleanup = don’t click the checkboxes, and it will clean up for you just as it always has.

1 Like

Fairly certain we know the actual user count separate from the “fake user” setting, so that could still be made to work. Otherwise, yes the idea would need some work.