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

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

I got enough years of programming behind me, knowing that things like garbage collections are the the sort of things that screw the user the most (for his protection).

And now people are complaining about it and in a rational way, which means that whatever intention you had , we really don’t care about because it doesn’t work.

You may have the intention to heal a sick person by letting him drink poison, whatever your good intentions are, it won’t work so don’t do that.

When a person comes over and says “X doesn’t work” and showcase it, that’s it , it become fact and no attempt in justifying nor explaining will change it, we are dealing with facts here, STICK TO IT.

And the fact here, the system doesn’t work as intended, people lose data , which means the system need to be fixed and that’s all there is to it, the only discussion to be held now is how to fix it.

2 Likes

And how exactly would an artist utilizing the Purge feature - instead of Blender automatically deleting all unassigned materials/actions, etc - bring significant overhead to your studio?

The problem can be summarized quite succinctly: Blender is not flexible enough to enable multiple workflows and people always come out of the woodwork to oppose making Blender more flexible. It’s basically a Blender clichĂ© at this point.

Imagine if Blender only had an FK system and some animators started a thread requesting the implementation of an IK system and then dozens of people, including the Blender developers themselves (sometimes), came to the thread to post that FK is the best way to animate everything and that even the idea of IK itself is wrong. To a professional animator that statement would be entirely farcical and yet that exact pattern repeats itself over and over again on this forum; “Please, can we enable Y workflow?” “No. X is the only workflow.” (Two actual examples instead of a hypothetical: Face dots vs face area selection, and select-through vs select-what-you-see.)

To the topic at hand, this shouldn’t be a question of “Should unused blocks be auto-deleted” or “Should unused blocks be auto-saved”; the real question should be ÂżPor quĂ© no los dos? Paul’s workflow benefits from the current system, but many others (I would argue numerically more people) would benefit from the opposite, so can something be done to cater to both workflows and make Blender more flexible? And of the possible solutions, how much can be done in the short term vs the long term? Long term the entire fake user system likely needs architectural changes, and accessible, intuitive scene cleanup tools, and materials need to be first class citizens like every other DCC program. Short term fixes could include user preferences for one or the other, but of course nothing is more permanent than a temporary fix. :stuck_out_tongue:

3 Likes

If you read answers by developers that’s hardly ever the actual answer.

Most of the time it’s more along the lines of: that might be nice if someone did all the necessary design work and coding, however there are currently more pressing problems and I can’t do it.

This is then interpreted as ‘the devs are opposed to change’.

Also, adding flexibility comes at a cost. Code needs to be maintained. More code means more maintenance. The developers are stretched thin as-is.

1 Like

If you reread my post - you are pretty much charging open doors with me, here. I do think that a more flexible system that could cater towards both sides would be the best option and it might be very possible. We just need to get to defining all the outlines of what it needs to encompass first.
Overall though, so far the discussion is more lost in explaining feelings and trying to say who is right and wants their workflow, here instead of trying to find actual solutions.

THAT is, unfortunatley, 100% true, though.
And I can totally see why devs are opposed to it if there is a possibility to get it right rather than screw it up further and people adapting to it. But the again 
 we also really need a solution.

If my use of the qualifier “sometimes” wasn’t clear enough, I’m not saying this is the typical or even common dev response. It’s usually the other things like time and availability, yes. But that wasn’t even the point, it was ancillary to that part of the post so please don’t focus on the wrong thing.

I was predominantly referring to the frequent response of the users, not the devs, who disregard other workflows and processes (e.g. VFX ignoring the needs of game dev, CAD ignoring the needs of sculpt, mix and match to pick your poison), often because they’ve got tunnel vision about their own niche and simply forget that Blender is a generalist program. And with a generalist program users have diverse experiences and needs such as data management being crucial on large, complex, multi-user projects so a self-pruning scene might be useful there, but objects or assets deleting themselves is an anti-feature for other users who aren’t expecting that behavior because no other program operates that way and they expect materials to be persistent.

So these threads often go circular because some group refuses to acknowledge or simply can’t even understand others’ needs. That was the point of the comment, not a shot at devs.

1 Like

And how exactly would an artist utilizing the Purge feature

You cannot purge the data during collaboration if unused ID’s are supposed to be saved - you will ruin someone’s data.

The problem is different - in this case the best system design approach for individual work and the best system design approach for collaboration are mutually exclusive because requirements are mutually exclusive. You cannot physically satisfy both simultaneously, and from our observations there are no known solution for this at the industry level.

It is

  • or “soup of data” where occasional trash is thoroughly mixes with useful unassigned data, making it unmanageable, like in 3dsmax/maya, which is suitable for individual work + vanilla data where you are the only who generate/control all the data and know what is trash and what is not, but naturally incompatible with collaboration especially on massive projects

  • or object-centric data structure with the ability to pack external data and with “lose unused” garbage collector, perfect for collaboration + imported data, but not reasonable for individual work, like in Blender.

Two other 3D applications you’ve listed aren’t just used by individuals; they are used by very large collaborating teams in the entertainment industry.

So it’s certainly not a situation of “software X” works for individuals, but not collaboration.

1 Like