Jumping around to arbitrary materials? / Editing materials?

Too often I find that when I go to edit a material in the Shading Tab, I inadvertently apply the Material to the wrong geometry.

Is there a way to access and edit Materials arbitrarily without running the risk of mistakenly applying it to the wrong place?

In the shading tab at the top middle there are two drop downs, one says “slot” and the other “material”.
When you want to edit a material without changing the geometry assignment use the one that says “slot” to switch between materials to edit.
The one that says “material” assigns a material to the slot, thus changing the material that is applied to the geometry that belongs to that slot (which is probably what is happening when you “inadvertently apply to the wrong geometry”).

Unfortunately, this is not a good workflow*, because you have to hunt thru the slots to find a given material, without assigning it to slot --that is, altering it–, instead of hunting thru the already sorted Materials to work on the them. And you might not know which slot is using which material.

Surely there must be an easy way to access and edit a material without affecting its slot, and without recourse to the Properties panel. --Ideally, this would be like in C4D, where Materials are maintained in a “Bank”, and all are equally accessible at all times. That’s what I’m hunting for here.

*that’s my polite version

This is how blender does it :frowning:

In the slot drop-down there is an icon showing the material and its name.

Blenders shader editor is always linked to the active object (world or style line), if no object is selected then it will be the last object that was.
If you want you could have a “dummy” object with only one slot and edit any material in the scene in the shader editor by flipping through materials with the material dropdown.

To explain a bit more.

Each object can have many material slots, each slot can be assigned to different faces of the mesh.

Once you have assigned different faces to each slot they will stay assigned (unless you delete the slot)

You can assign any material to a slot. You can even assign the same material to different slots of the same object.

In the shader editor under the “slot” dropdown you will see the materials that are assigned to each slot of the active object.

In the material dropdown you will see all the materials contained in your file.

To jump between the different materials of an object for editing use the SLOT dropdown to choose which material to edit.

To assign a different material to a slot (and its assigned geometry) use the MATERIAL dropdown.

Edit:
If you do not ant to make a dummy object you can also add an extra slot to your active object without assigning any geometry to it.
Then in the shader editor you can use that slot to edit any material buy choosing that slot in the slot dropdown and flipping through the materials with the material dropdown.

Thank you for your efforts.

I still find this constraining in contrast to the ease with which you can work with Materials in C4D. It’s like working thru a keyhole to clean a room.

Many people that come from other software complain about Blender’s “particular” way of doing things.

I do respect their views but I am not familiar with other software and can not really compare.

Good luck :slight_smile:

mat_switch

:partying_face:

mat_switch_2

:partying_face:

mat_switch_3

:partying_face:

You’ve got to manually make your own “bank” of default cubes each with one of the materials on it. I stick them somewhere around -100m on the Z axis and setup a workspace tab with a viewport pointed at that area. A better solution is to have a script that can auto rename all cubes to have the same name as their material so then I could select them in the outliner directly, unfortunately I’m no good at python.

1 Like

I’m not sure if i understand this correctly:
You wanna change a material (say a green marmor to a red one) but you don’t wanna change the material assigned to an object…
But isn’t that the trick to have multiple materials assigned to different parts or even different objects and if you changed/obtimize it then changed are on every use of it??

Check out Matalogue addon. It adds list of all materials in blend file to shader editor sidebar and removes need of finding / selecting objects first to edit materials.

3 Likes

Example: I have 40 objects kitbashed into 8 different “giant dead robots that decorate the wasteland landscape”. I use collection instances to make 32 robots out of those 8. If I want to change the rusty yellow material used on a giant screw shaped object I first need to find the original collection, make it visible, find the screw, select it, and then change it. The material’s name is some asian language symbol so I don’t have it memorized. Theres only 38 materials and if I had something like that Matalogue addon but with bigger images I’d more quickly find the 4 yellow materials and through trial and error deduce which one is for the screws. I would prefer to do it this way.

1 Like

Yep this addon looks like it does what the OP wants.

1 Like

Oooo, that looks promising. :+1:

You’ve touched the crux of the awkwardness (I think): “removes need of finding / selecting objects first to edit materials.” This is what I object to and find clumsy.

MATALOGUE: I’ve placed the Matalogue.py file in the scripts/addons_contrib folder, and it seems to be recognized, but I’ll be damned if I can figure out WHERE in the UI it appears.

It’s in the Shader Editor. Open it, and press N. Then open the Trees tab.

Myself, I prefer to create a separate scene with linked shader duplicates, and assign all materials there. When I need those, I append or link the scene to use those mats.

To select materials quickly, I create a second main window, and display that material scene.

I do agree this is an area in Blender that needs some love and attention given to it. The new upcoming Asset Browser solves it partly: all your materials can be viewed and assigned similar to how it works in Cinema4D. But selecting one of the materials in the asset browser does NOT activate the material settings when used in the current file.

A linked material library works a bit better since it is possible to open that linked asset.

It’s almost there, but no cigar yet!

1 Like

PS instead of placing it manually, use the install button under the addons preferences. A tad quicker and more convenient.

Activate it, and it displays a message where the addon can be accessed in Blender.

Like this:

1 Like

If the script is already in the addons_contrib folder, Blender objects to an attempt to Install it, but also doesn’t list it when searched in the Addons search facility. --I thought that was the point of the scripts/addons_contrib folder, that *.py 's would be installed by default. ???

Moved it out of that path, used INSTALL, and all seems to be well.

Thanks everybody, for the solutions and an interesting discussion about Materials access!