Take the 2-minute tour ×
Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. It's 100% free, no registration required.

Is there a quick way to delete all materials in the scene? I have a scene containing 20+ materials and all linked to objects. I'd like to remove all the materials from my blender file.

share|improve this question

2 Answers 2

up vote 7 down vote accepted

Yes, you can. Easy way would be:

  1. Select all objects, keep one active, remove all materials on it by pressing the "-" button on the right-hand side of material slot list;
  2. Then, from the drop-down list (below it), choose Copy Material to Others. Save the file.

enter image description here

All unused material data will be removed after saving. You cannot see them anymore after reopening.

share|improve this answer
    
I never knew such a thing ever existed. Found the button, done and gone. –  ikel Feb 19 at 4:53

There's an addon Material Utils, which ships with Blender.

Enable it in the User Preferences > Addons, select all objects A, hit Q over 3D View and chose Remove Material Slots:

Material Utils Addon - Remove Material Slots

It currently works on the active object only, despite the tooltip stating it would work for multiple objects. Here's a scripted solution for all selected, editable (non-linked) objects:

import bpy

for ob in bpy.context.selected_editable_objects:
    ob.active_material_index = 0
    for i in range(len(ob.material_slots)):
        bpy.ops.object.material_slot_remove({'object': ob})
share|improve this answer
1  
According to the tooltip: "Remove all material slots from active objects", so a Copy Material to Others operation is still needed. Btw, you are supposed to suggest a coding way, I bet. :P –  Leon Cheung Feb 19 at 8:05
    
Interesting, it says objects, but seems to work on the active object only. I should either fix the tooltip or add an option to chose what to delete (slots of active object, selected objects, scene objects, all). –  CoDEmanX Feb 19 at 8:13
1  
Yeah, This is the CoDEmanX I know of. XD –  Leon Cheung Feb 19 at 8:23
2  
Added a scripted solution to really remove all slots of all selected objects :) –  CoDEmanX Feb 19 at 8:27
    
I'm working on the Material Utils addon and it looks like it currently fails for a lot of scenarios? I wonder how slot cleanup should behave, I could let it remove all empty slots (but they can actually be assigned without material!), or only slots with materials not used by the object, or a mix of both... Won't work for text objects however, they don't seem to expose the materials :( –  CoDEmanX Feb 23 at 1:39

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.