[Add-on] Matalogue

Greetings folks!

I’ve been working on this on and off for a little while, and find it to be super helpful to manage large scenes…


All it is is a list of materials (and lights and compositing trees) in the toolbar of the Node Editor.

Yep, that’s it :slight_smile:

Clicking on an item will switch the Node Editor to that material/lamp/compositing tree.


I like your addon.
It is easy to access!

There have been some serious quality addons for Blender lately, and this one fits right into that bunch! Thanks Greg!:smiley:

Yes really usefull Addon !! Thx a lot :wink:

thank you for this add on
very useful

Thanks guys! I’m glad you like it :slight_smile: Let me know if you have any suggestions/ideas/bugs/etc…

The best will have the panel on top of other and always visible like with the pin button.

Thanks, Greg! This looks awesome.

It would be nice to have a + button to create a new material based on the any of the previously created materials.

hi my suggestion

Clean Up Panel
1 . purge / remove all unused or unsigned materials
2 . select all objects that has same material then all materials that has assigned into one material will be isolate or separated ( make single user )

misc : separate the options function which is in material panel into another panel for clean ui

thank you again for this plugin

This is a great addon. Thank you so much.

Why not a popup menu in the 3D view to create and assign shaders ?

Like this.

That seems more in the scope of this add-on: http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/3D_interaction/Materials_Utils

But yeah, that would be nice.

I didn’t know this one, but you can use his code and complete matalogue to have only one addon for shaders.

I started the code yesterday, it’s really simple right now.

import bpy

class CreateMat(bpy.types.Operator):
bl_idname = “my_operator.create_mat”
bl_label = “Create Mat”
bl_description = “”
bl_options = {“REGISTER”}

def poll(cls, context):
    return True

def execute(self, context):

    mat_index = len(bpy.data.materials)-1
    ob = bpy.context.active_object
    ob.material_slots[ob.active_material_index].material = bpy.data.materials[mat_index]
    return {"FINISHED"}

class GestionMaterialMenu(bpy.types.Menu):
bl_label = “Gestion Material Menu”
bl_idname = “OBJECT_MT_Gestion_Material_menu”

def draw(self, context):
    layout = self.layout
    layout.operator("my_operator.create_mat", text="New Material", icon='MATERIAL')
    layout.operator("object.material_slot_remove", text="Delete Material", icon='CANCEL')
    layout.operator("object.material_slot_move", text="Move UP", icon='TRIA_UP').direction='UP'
    layout.operator("object.material_slot_move", text="Move Down", icon='TRIA_DOWN').direction='DOWN'

def register():

def unregister():

if name == “main”:

# The menu can also be called from scripts

so nice to have this, thanks! really improves usability of materials and node setups

Thank you Greg. I fixed it to work with Vray for Blender version + added to show object nodes.

Looks like I need an account to follow that link - could you post the code here instead? (use pasteall.org otherwise the indentation gets stripped)

Hello Greg.
Vray3 for Blender script: http://www.pasteall.org/60484

It seems that highlight-emboss thing does not work in Vray version.


Great thanks! I’ll check it out when I get a chance.

This add-on saves me a lot of time when dealing with scene materials. Thank you!