Blender Deleted My Un-assigned Materials - How is That A Feature? - Fake User

Well, many people do. Here’s a related recent example; I do not know this user, but they don’t strike me as a newbie.

How about put “Fake User system removal” on this list? :point_down:

:slightly_smiling_face:

3 Likes

Here’s the problem, the removal would require for the devs to put in a alternative system in or at the very least a system that manages data saving or the alike.

Problem is the devs are terribly preoccupied with all the changes in our near future like the simulation nodes etc. so i’m not sure they have enough time to overhaul the fake user system (as it is a system thats very deep in the code/root by my uneducated guess).

For the moment making it fake user on by default in the settings which you can turn off, as a small quick fix untill such time that devs could focus on the Fake user more focused, or they could bring in a new dev that could work on this and other replacement systems.

Agreed, and discussions on how to approach this have been going on for years. I don’t think the only two options should be “leave completely as it is” or “redesign the entire datablock system”. Default to on Foo created, fake_user = True, add a “default fake on/off” preference checkbox, and call it - perhaps not fixed in entirety for eternity, but certainly more artist-friendly for now.

I would say this would fall under the category of one of those “Blender Workshop” things where devs and users come together to create a solution.

Because it seems to get buried in discussion all the time:

(1)

(2)

2 Likes

If everything would be saved, you would end up with a huge blend file and you had to go trought every object/image… and check the number of users and so on and then finally delete what you marked as waste. That seems really a lot of work.
Purge button allways seemed important for me

1 Like

For the sake of discussion, what do you consider a large file?

How often do you create a material, action, etc that you have no use for? I’m not suggesting that the Shield buttton be removed; merely that when you create something, it is automatically protected. The user can still click it - right after creation, so as to not protect it.

I do not suggest the purge button be removed.

The comparison is incorrect, only removed data is deleted.

1 Like

Purge button is indeed important.

Now , given the choice between big files and the alternative of… GETTING FIRED, because you used blender to make an asset and blender by design didn’t save it for you and your supervisor was waiting for such assets and you just stalled the whole production pipeline , for one reason or another, and your backups weren’t accessable ; which can happen.

Pick, the bloated file option.

Let’s make it clear folks :
Blender, in its current state , does not save your data.

And i am considering tagging every developer in the core team so they will get notification for this thread, this , is uptop priority (2nd only to blender crashing bugs).

1 Like

If Blender didn’t saved an asset, that means it was deleted by user.

Within the scope of this discussion, the ‘asset’ is a material, action, etc that is not assigned to an object (and not marked as protected, ie “fake user”). It is deleted by Blender when the file is saved.

You show ignorance towards the subject or you lack in context, please review the previous posts and links appended.

Edit to unhide , misflagged in my opinion

2 Likes

No. And I am really getting tired of explaining this. A material is never only used in combination with an object. If you delete an object and have not manually marked the Material as “important” then Blender will currently delete it without question or warning.
Deleting one thing != everything attached to it is now free to delete.
Creating a variation of a Material or Action != Not needing the other one any more.

And every time you create a variation to maybe have clean keyframes to get back to later on or to have as a material back reference or whatever reason. Doesn’t matter. Every time you create a variation you have to remember marking the thing or it will be lost forever.

There is absolutely no benefit to it and this is not good design just because you and other people got used to it over time.

But apparently we are on different sides of this topic and I just hope that the developers see it differently from you as well. Arguning the same point back and forth has really no use in this discussion, and we are getting nowhere any more.

1 Like

The point of object-oriented system is solid datamanagent on a massive projects with high variability dynamics during teamwork.
We didnt “got used to it”, we has chosen it on purpose after comparison, when switched our studio from Maya to Blender.

So what would have to happen for you to change your mind on the topic?

So what would have to happen for you to change your mind on the topic?

Changing working conditions?
If I would lower DMC level that sets work surrounding restrictions, this will make my opinion change, I guess.

Switching from Collaboration on massive projects with lots of imported data and variable software pipelines (corporate, 4th DMC level) to individual software use for creative artistic work (frellancer, 1st DMC level) or technical work (2nd DMC level) will provide much more sterile production conditions, where you are the only who controll all the data, so there will be no strong need in object-oriented datamanagemet system, and datamanagement survival will no longer dependent on it.

However, 1st and 2nd DMC are not physically compatible with the 4th one, by design you can satisfy only one DMC level per software. We thought a lot about this issue.

I am not sure I know what exactly you use DMC (it’s an acronym for an awful lot of things) as shorthand for here, but I think I still get the point. Also fair enough in your case and I understand that. Your workflow scale depends on it. I can’t and won’t argue with that.

But can you pinpoint the cornerstones of your workflow (or for the DMC levels in general) or create a list of the requirements for it in Blender? Because that is a very vital point that got lost in the whole discussion, right there. Currently this thread is possibly defending two very different sides of the same medal and every side sees their point of view as the right one.

If there is a way to have data management be configurable to “large scale teams” or “data retention” then these might be able to be behaviour presets akin to the keyboard map?

I already explained Data Management Conditions (DMC levels) and its influence to software system design before in some of those treads. I can list it again here or give a link but later.
Sorry, I am in the middle of a deadline.

But you may be sure - if my only job would be much more linear and sandboxed, like creating assets or so, I would also prefer just to pack all the data and thats it. I understand this issue, but, unfortunately, it is much deeper.

That’s fair enough. And I never argued that people have different requirements to their workflows. It’s just really important that, assuming your assesment can be pinpoint specifically to the different levels, Blender needs to either find a way to cater to all data management conditions somehow or decide for one or the other. Otherwise we get a muddied thing that is neither one nor the other.

And then the next step will probably be: Who is the major target demographic for Blender in that case?

Bacause ultimately for every workflow you will find at least a handful of people who will need that specific set of features. But that still doesn’t say that this is also the best set for the majority.

So yeah - I think it would be a lot more beneficial to discuss which points might be integral for a certain workflow so that any devs might actually be able to find a way to decide which is more important to the project. Or better yet - maybe do find a way that caters to more than one level.

(edit) BTW - and just to make this absolutely clear. Unassigned datablock should always be markable as “unimportant” and there should always be a purge function to quickly get rid of all of them. Nobody here is saying otherwise.
It is just important that purging unassigned is never done quietly and never without the user’s consent by program default. If you need it to work on closing or program quit - this should still be very possible.
Both of these (inverted datablock protection and a warning on close/quit) could easily be options that can be turned off if you need the functionality that way.

1 Like