Proper Material Library Editor
Blender is in dire need of having a proper material library editor for better management of materials. Currently, the thing that annoys me the most about materials is that they are dependant on objects, and you need to first create an object to then be able to apply a material to it and edit it: We should be able to create and edit materials regardless if there are objects in the scene, and both the material properties and the node editor should depend on the material, not on the object to which the material is assigned. Plus, having materials visualized only in the material slots of objects puts us in a discomfort situation where if we previously created a material that is not assigned to any object in the scene, it's in a weird "floating" state where it cannot be found and edited until we assign it to an object.
I propose to have a dedicated editor for creating and organizing materials (I based the mockups on the asset browser as it was the closest editor to represent the idea):
This editor would have the main function of creating, visualizing and applying to objects all the materials present in the scene. This would mean also that both the material tab in the properties editor and the shader editor would be fully usable from the start without assigning the material to an object. Clicking on a material in the library would show the material properties in the properties tab and in the node editor:
This changes especially the behavior of the material tab, as if a material is created but not assigned to an object, it wouldn't show the slots but only the material properties. As long as it's assigned to an object, the slots section would appear in the tab.
Creating a material can be done with an icon similar to the one in the material slots, or by right-clicking to open a context menu and choose "new material", or both:
By default, the created material is a standard Principled BSDF, otherwise the library would also have an add menu with the different types of shader (material presets, like "water" or "iron" would be also nice to have):
Applying a material to an object would be possible by drag-drop in the 3D view, in the Outliner, and by selecting one or more objects, right-clicking on the material and choosing "Apply". This would work automatically also in the case of a specific selection in edit mode, in this case the material would be applied only to the selection:
I'm aware that especially with the material tab in the properties this would change a lot some of the behaviors of Blender, but now that we are jumping in the 3.0 I think we really need better management and organization of materials. There are other things that could improve this, like having the possibility to organize the materials in separate folders, but I didn't want to go too deep and just show some basic yet important functions that we need.
Also, before you say that there is the Asset Browser for this, please keep in mind that I'm talking about something different: the asset browser is an editor to store and share different types of assets already created inside and outside the current file and to be able to re-use previously created assets. The Material Library is an editor to create and have a better view of all the materials in the file, to assign them and edit them more freely, and to have finally a system where materials are not dependant on objects.
P.S. I'm aware that there are other requests here on RCS that asked a material library, but most of them cover partially or in other ways what my request is about and anyway didn't receive the recognition that they deserved (most of them are like 1 or even 3 years old), for such a needed feature. Hoping to not be marked as duplicate, I'm adding a link here to the other requests: blender.community/c/rightclickselect/Chhbbc/ , blender.community/c/rightclickselect/Z6fbbc/ , blender.community/c/rightclickselect/5gdbbc/
9 Comments
Blender still needs a “current file focused material library editor”.
People are wrongly using the asset browser for this purpose. They’re marking every material as an asset in every file so they can browse them easier via the asset editor window.
Later, if they decide to make an Asset Library Folder out of the parent folder of several project folders, they then complain about have a dozen-dozen duplicates of the same or similar assets being found in all of their blend files.
I think I saw an addon a long time ago that provides what is needed within the Shader Editor but I cannot find it not, it might not even work in the most recent Blender versions, and even if the opposite was true, not many people know it exists.
One way this need could be shoe-horned into the Asset Browser is to have a concept of a locally-assumed-asset. All materials are assumed to be lower-class assets so they show up in the Asset Browser's "current file" section, but they are not available to the wider cross-file asset library system unless then are manually "marked as asset".
Fully agreed, asset browser needs a current blend file browser that shows everything (material , objects or worlds, or anything in outliner blend file data ) in a thumbnail way (like a material library for material datas because in outliner Blend file data view, we can see all materials without thumbnails, so outliner data should also be visible in asset browser blend file option, so it can be something like material library.
I wrote that idea even in Codepage so that developers can see (even if it was wrong place to write that), but I dont understand why they complicate things when the solutions are simple and obvious. (By the way, I noticed that we also think alike and need same things for blender. Nice to see u again here)
Your idea is not bad, but it is an attempt to treat the effects of a disease instead of treating its causes...
Issue is in wrong (dumb IMO) Asset Browser concept - first create something in scene, then create asset from this something in scene. Instead of inventing such "squared wheels" bicycle it was needed just open UE (free to use) and look how things designed to work well (many years already). Again this issue of tunnel vision and not looking around!!!
UE Asset Browser is the place where you create something in the first place and then you use it in the scene how ever you want... not opposite direction. In Blender case it may has some default "Scene Assets" folders tree (with all data created/exsting in scene) and how/what ever user want to create as custom folders/assets additionally.
Now because it designed in stupid upside down way, you started enhance this stupid design by another dumb solution of having asset browser and material library. What next? Special library for each thing we want to use in scene but may not want to keep as asset in wrong asset browser?
This asset browser something dumb will be released and then we will live with it "as is" and then no one will never change it to work in right way. No one will give a shit about it because "do you not like our new shiny feature? how dare you!!!".
I agree, they though too much about how to implement asset browser, but after all those long thinking, it turned out to be like this, when an addon developer even make better asset browsers, I dont understand really why some things in blender happen slowly when it was easy to implement while u get into it by just adding some little flexibility... I wish someone edit the code of asset library and make a branch or patch to show how it should be instead of making addons for NPanel, I wish someone create a addon like particle nodes that is integrated as a new editor
Cannot upvote this enough.
The lack of a basic material libary catalog/manager for the loaded scene is - frankly, astounding.
Plus the fact that a material cannot be created as a singular entity, instead of "make object I don't really need, make new material, mark material as protected, then delete object... oh wait, now how to select/edit the material... right, you have to have that object that does nothing in the scene except hang on to the material."
I really want that new material plus button as u did, its so nice really. Also ı agree that its so bad when materials are deleted when its not assigned to any object. I didnt know that when I first started blender and probably all the material variations I did are gone because I didnt know that ''FAKE USER'' button long ago, so its really uninuitive to confuse user with data things. Thats why I usually use 2 different material output in same material and do variations on same material after that issue.
Totally down with a material library! I dont do much render work but already find it so annoying needing to either append or redo materials over and over and over. Being to drag/drop and save to a folder structure, that would be nice. Perhaps have more data availbe like a description part, this description would be visible when hovering over a material
It should be more universal regarding the assets, eg. blender kit or other this type stuff blender.community/c/rightclickselect/Xwhbbc/
Yes please... The asset browser to log and access materials directly would be incredible.