13 votes
Date Updated: 
Author Name: 
Colin Senner

This script extends and improves the functionality of the button in the material editor labeled "Select by Material". I was always frustrated by this button because to effectively get every object with a specific material applied I always had to unfreeze/unhide everything, and on heavy scenes, this proved to be difficult. Also, using this functionality is rough because it will only select the group head if an object that has the material applied is part of a group, resulting in me mistakenly assigning materials to whole groups.

This script allows you to select the material, click the button and have all the objects that material is assigned to selected (even if they are hidden or frozen), if the objects happen to be a part of a group, it will open every level of the group till it gets to the object with the assigned material, and select only it.

Additional Info: 

To Use:
Run the script, goto Customize->Customize User Interface, Toolbars, Group: "Main UI", Category: "All Commands", drag the item "SelectObjsByMaterial" to a toolbar, or alternatively assign it to a QUAD menu.

Now, open the material editor and pick an object assigned to something in your scene (doesn't matter if the object is hidden/frozen/grouped etc.) and click the hotkey, the result will be you will have every object in the scene with that material selected (even if you can't see them, they are still selected).

Alternatively if you assign this script to a quad, you will also have an alternate box, if you use the alt box from the quad, it will automatically unhide/unfreeze all the objects making sure you can see them, so you know exactly what you're affecting.

Video URL: 
SelectObjectsByMaterial_v1.0.ms1.56 KB


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Haider of Sweden's picture


Hi Colin,

No, I meant if I have a multisub-material that is assigned to a certain amount of objects.
Now, I want to find the objects that have a certain sub-object material assigned to them.

Kind regards

colinsenner's picture

I run this script on the

I run this script on the entire object (with the multisub material) then I usually just go into face selection mode and click the face I need the material for and check the id manually.

Haider of Sweden's picture



Could you please improve your script so that it can select what object uses a certain sub-object material?

Currently, I use this solution:
... that creates a multi-sub-object material for all items in the scene and gives the items an equivalent material ID.

Now, the tricky part is to find the item that uses a certain material ID.

@fajar: regarding "Select by material without open the material editor". I cant make the code work.
Could you please help out?

Kind regards

dub73's picture

Awesome !!!!

I am a former Maya user and this functionality is painful missing in Max. Simply select all objects with a certain material assigned. How can you work without? How else can you replace materials? Max is strange

colinsenner's picture


Yeah, let me get my hands on 2012, and I'll see what I can do.


igamaximus's picture

Max 2012

Colin, is it possible to make this useful script work on Max 2012? I've tested and it seems it's nonworking there.

Thanks for your time and effort.

colinsenner's picture

Glad to hear. This is one

Glad to hear. This is one script I really really use alot.

chalid's picture

thanks..another useful n

thanks..another useful n efficient way from you :)

one808's picture

good tool ,trying

good tool ,trying


colinsenner's picture

Also Fajar, mine does

Also Fajar, mine does multiple objects as well, it's pretty handy.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.