← All ideas
  • Published 11 Jul 2022

Set Default Material

I think it would be wonderful if there was a simple option to set Blender’s default material.

I literally never use the Principled BSDF shader. Literally. Never.

Not that there is anything wrong with using the Principled BSDF, but I have created my own PBR shaders that I have created as node groups that I prefer instead. This being the case, every time I add a new material, I have to open up the shader editor, delete the Principled BSDF, add my shader and connect it, which doesn’t sound like much, but when working with a complex scene with many materials to be applied, it would be much better if there was a way to just click new material and have my preferred custom node group applied by default. I dont know anything about python, but surely it would be a very simple task to add the option to choose what you would like to be set as the default material. I really hope that is a feature that will seriously be considered adding to Blender. Perhaps in the preferences panel?

As for myself, I have worked very hard on my shaders (node groups) and I prefer them, but other people may really like the option to have, for example, just the diffuse shader as their default material, or for a 2d animator perhaps a toon shader. Etc.

Just a proposal of an idea that I have wished for over a period of time. Any response will be much appreciated and thank you very much.

100%

Development Status: Open

Upvote 13 Downvote 0
brianjames
11 Jul 2022

10 Comments

FreeMind

If/when they make materials work like the geometry node modifier (as node groups), they could make it so that when creating a new material you could select which nodegroup preset to start with. Like, PBR setup, Toon, etc. That would be ideal.

2
mistakd1

You lost me at "I literally never use the principled bsdf shader"... Jk this is actually a rly good idea

1
Lauloque

Have you tried to make your own startup file?

  • open a new scene, don't touch anything you don't want to change in your default start
  • shift click drag an editor's corner to open a copy of it in a new window (this is just to make the above point easier)
  • set the editor to Shader Editor, setup the cube's default material as you want
  • close that floating window
  • go to File → Defaults → Save Startup File

This way, each time you open Blender or create a new scene, it will have the material customized as you want.

1
fructdw

Startup file doesn't have any effect on nodes of future new materials, it's hardcoded to principled shader.

5
Lauloque

Oh right, I didn't thought about the default material you get when creating a new one!

In the meantime, having this, or any shader in your startup file, drastically reduces the amount of work needed to set them up in each project.

1
brianjames Author

Yes, I have saved my custom defaults, but that only applies to the material of the default cube or whatever default object(s) are loaded with the startup scene. But for anything added into the scene, when new material is clicked, it still assigns the default new material with the Principled BSDF, so I still have to scrap that setup and apply my node groups manually for everything that isn't saved as default scene objects.

So let’s say you’re creating a complex scene and you have added 10, 20 or 50+ objects and you need to give them all different materials and you dont need the Principled BSDF on all of them. Now, for each object, you have to remove it and add the material node groups that you want them to have (pbr, toon, etc). Well, its a simple series of clicks, sure, but whether in a professional environment or not, that’s a whole lot of deleting and clicking and connecting nodes that takes time. It would be very much more efficient with the option for a custom default new material. That way you could simply click new material for each object’s material and it’s just there and done. Eliminating that whole process. Just click new material, and the nodegroups are already there, so say your a 2d animater and are only going to use 2d shaders (or the toon shader) for everything in the scene, well all you’d have to do is for example adjust the color. Done. Or say you are a professional working with product visualization and everything in your scene needs to be as photo realistic as possible (and you have a preferred pbr node setup that works differently than the Principled BSDF), all you’d have to do is click new material, and your node groups are there. Adjust color. Adjust roughness. IOR, etc. Done. So much time saved.

thinsoldier

Keep an object in your default scene that has each of your commonly used materials.

After you've added those 10, 20, or 50+ objects, copy the material from the original to all the new objects with ctrl+L

If you're only adding one material to each object this works out to the same number of clicks as dealing with the principled shader problem but mentally I find it less annoying.

Link the desired material to all objects, go to 1 object, click the button to make the material unique, change the color.

The most likely solution the devs might make in the short term is the ability to right click on a material in the asset library and assign it to all currently selected materials (which is about the same as what I just described above).

I fear to actually implement your idea the devs might claim they want to wait until they hire a full time UI expert to make decisions around how your proposal would actually look and where the settings would be displayed.

I could see them simply allowing a different one of the built in shader nodes being the default, but not a node network without some kind of deep UI discussion.

Would your setting be global or per-file?

1
brianjames Author

Global. But the UI could be very simple, despite node networks.

Preferences> Default Material> And just have a drop down that shows a list of the nodegroups currently loaded and it could just save that nodegroup into the new scene defaults so that it would be accessible and make it the default material.

1
thejinx

Same issue here. I'm forever having to change Settings > Surface > Displacement to Displacement and Bump .

The only other option I can think of is making a material with desired common settings applied, fake user'ing it and storing it in the startup file, then copying it for each material I want to make in the future which is such needless busywork.

I hope something along the lines of Edit > Preferences > Defaults becomes a thing in the future so all elements, including materials can have sensible default values defined by the user 💀.

MartynasZiemys

I also have a problem with the default material. I don't use Principled BSDF often as well, but the worst thing about default material for me is the white color. I mostly work in material preview viewport shading mode and often need to do modelling quickly with imported reference images as mesh planes so I don't usually want to work with Solid viewport shading mode. So basically, every time I add some primitive to start modelling, I also have to change the material to something darker, because I cannot see the form well when it's all white. Not a big deal at all, but it's mildly annoying and if there was a feature to define default material I would definitely use it and be very happy about its existence.