Blender uses a default blend file as the starting point for all new projects. Materials could be added to this file so that all new projects would have ready access to these "preset" materials. However, accessing these is not exactly intuitive. These available materials would be much more obvious if the following changes were made to the material properties panel.
- When the current material slot is empt a list of available material datablocks is shown in the space where the rest of the options normally are. These are the "presets".
- When one of these "presets" is clicked, the material it represents is copied, renamed to <presetName>-<objectName>, moved to the active material slot, the previews hidden, and the rest of the options shown as normal.
- the "make this material a preset" button would add a material to the startup blend file. It should be located somewhere in the standard material options
- the "remove this material from presets" button would remove a material from this blender file and from the startup blend file. It should be located in the presets list shown when the active material is not defined.
Since blender uses the startup blend file to store all default configurations, I propose that there should be an extension made that would provide tools for storing, fetching, and deleting materials (and perhaps other datablocks) from the startup blend file. This should include tools in the spacebar menu like “make active material a preset” and possibly a button next to the add/remove material slots buttons for making it a preset.
The properties material page could be changed so that if the current material slot is empty, there is a pretty list of available material datablocks in the space where the rest of the options will be. When one is clicked, that material should be copied to the active slot, renamed to <presetName>-<objectName>, the previews hidden, and the rest of the options shown as normal.
The material datablock should have space for the last rendered material preview. That way the material could have an intelligent icon. The material preview render is already happening, so we just need to store it for later reference. This would also mean that it wouldn’t have to re-render it every time you opened the blend file, just whenever you change material settings