Universal Select By

9 votes
Date Updated: 
Author Name: 

This Script for Selecting Objects By Class Or Name Or Bitmap Name According to 6 Types :

Instance : will selected The Instanced objects by :
- Instanced Objects (I-Objects) , Instanced Materials (I-Material) , Instanced Modifiers (I-Modifier) , Similar , and By WireColor .

* You Need to Press Instance Button to Activate this Buttons .

- OBjects , Materials , Maps , Modifers , Layers , and Properties , Those are Self Explained .

- NOTE1 : On Selecting By Objects you have Option to select objects by Face Count just type in the Text Field the Number of Faces and Press Select Button to Select Objects Larger than this number , OR Number and = for Exact Count , OR Number and < for Less Count .

- NOTE2 :  On Selecting By Layer You Can Select By Layer Name Only (from Drop Down List or by Typing Name)

- NOTE3 : On Select By Properties the Options in this Section are to Select Objects only if The Default Property was Changed

  (ex: checking Renderable and Search will Select All Objects that have this Property Turned Off) .


  • Add Maps Function [M Button] as a new way to change the values (Same as Graph but from Map/Bitmap Color).

  • When Replacing Old Material/Map, Add Option to Put the Old Material/Map as Sub of the New (if possible).

  • Pressing [Refresh] Button while [Apply to Selected] is Active Gives Error, Fixed.

  • [MacroRecorder] Button was Visible when switching to [Properties] Tab, Fixed.

UPDATE 3.1 :

  • [Select By Materials] Error when Selecting [Autodesk Materials] and Changing Property, Fixed.
  • [Select By Maps] Error when Selecting [Autodesk Map], Fixed.
  • Regarding the Different Properties of each [Autodesk Materials], I Add each Type of them to the Materials List [By Class] Like (Generic, Brick, Metal...), in Addition to the [Autodesk Material] List Item, which Select All Types, but has no Properties.
  • Add Ability to Clear a property (bitmap - ies file...) with Right Click on the [Browse Button], 

    (in previous version it can be replaced but not removed).


UPDATE 3.0 :

  • Add MacroRecord Function to get Property Name.
  • Add Graph Function + UI as a new way to Distribute the Values.
  • Fix [Select By Modifier] Error when Changing property.
  • Fix [Select By Layer] Error when selecting a layer from [Layer List].

UPDATE 2.3 :

  • Replacing [Clear from (Scene/Selected Objects)] Previously "C" Button , with new Function [Remove/Replace] "R" Button , in Material/Map Categories ONLY , so Now you can replace materials/maps/Bitmap , [By Class/By Name/By Bitmap Name] , with another equal one , (with Option to Apply instances) , on [All Scene Objects/Selected Objects] .

       * Thanks to 'Nawras Ryhan' for Requesting this Feature .

  • Error when working with deleted objects without Refreshing the Script , Fixed .

  • Selecting by [Name/Bitmap Name] in [Apply to All Objects] Mode , was not working properly in last update , Fixed .

  • Add Version Number to The Script Title .

UPDATE 2.2 :

  • Add Ability to Rename by adding Prefix and/or Suffix :

      - Prefix : PreName|*

      - Suffix : *|SufName

      - Prefix and Suffix : PreName|*|SufName

  • The Script was switching to [Apply to Selected] when Pressing Clear Button on Object Mode , Fixed .


  • Remove the Global Arrays (from Previous Update) .
  • The Script Now will Automaticly Select Target Objects when Search Execute .
  • Replace [Select] Button with [Clear] Button , to Clear Selected [Target Search] from [Scene/Selected] Objects . 
  • Add Property Editor (with Search Field)  to Change any Property of Selected Class .

  • Supported Properties Classes : (float-integer-angle-time-worldUnits-index-radiobtnIndex-.mapping-boolean-material-texturemap-bitmap-filename-string-point3-arrays-color-transform-Bitmaptexture.coords-Bitmaptexture.output)

  • Add Counts to ClassList Items .

  • Add [_All*] and [_Selected*] to Class List (* Depends on Current Category) .

  • Add [Position, Rotation, Scale, WireColor, Name] to Objects Properties , and [Name] to Materials/Maps/Modifiers Properties .

  • Add Ability to :

          1 - Increment Value , by Checking [Incr.] Checkbox .

          2 - Randomize Increment Value , by Checking [Incr.Rnd] Checkbox .

          3 - Randomize Between 2 Values [Randomize] Button , (You Need to Specify Min/Max Values , if the values are integer like 5                     and 7 you will get only 3 randomize values (5,6,7) , but if one value at lest is float like 5.0 you'll get thousands of values) .

          4 - Add Value to the old Value , by Checking [Add] Checkbox , (if [Add] not Checked the New Value will Replace the Old Value)

  • To Increment Grayscale Color Check [Incr./Incr.Rnd] Checkbox's and Use a Gray Color as Increment Value .

  • Renaming Objects/Materials/Maps will always Add Number at the End , (Except Modifiers You Need to Check Incr. to Add Number) .

  • You Can Start Increment Names from Specific Number by Using "String|integer" in the Textbox . Example : New|25

  • Randomize/Increment Transform Can be Done in 2 Ways :

          1 - Normal Way : [Point3] Value or 2 [Point3] Values .

          2 - [number|number] : for Fast Applying [X.Y.::Position]  [Z.::Rotation] [Uniform.::Scale] .

  • Ability to Change/Clear Property Inside Arrays , if the Property is array like CoronaLayeredMtl, (You Need to Specify Index)  .

  • No Spinners (Range Restrict) , So All Numbers should be Typed in the TextBox .

  • NO Filter when Picking Objects (Pick Objects Carefully) .

  • don't use 0/1 to change BooleanClasses , You can use (True/False or On/Off) .

  • if [Keep Button] unchecked , [apply to selected] Mode will always Apply the Change to the Current Selected Objects when Executing .

  • When Applying New Material/Map , if it has Sub Property , a QueryBox will Ask to (Keep the old Material/Map) as it's Sub .

  • When Clearing Material/Map [by Class] it can be Replaced with its Subs , (you can select more than one sub from the list (in selection order) , so the first selected one will be replaced if exist , if not the second and so on .. .

UPDATE 1.02+ :

  • The Script was Slow when Selecting Objects , Fixed  .
  • Add VrayBitmap Support .

  • Make Search By (Name/Bitmap Name) Ignore Case .

  • Export Global Array According to the Current Search , Name of the Array will be Printed to Listener (USB_*) .

  • Some Functions Enhancement and Fixes .

  • Detect Slate/Compact Material Editor .

UPDATE 1.01 :

- Add Appility to Select Instanced Modifiers with Any Selected ModPanel Stack Modifier .

Thanks to Darren, Nawras Ryhan for Helpful Feedbacks .

Video URL: 


Comment viewing options

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

Thank you

Thank you for your time! Everything works perfectly

obaida's picture


Material and WireColor Macros

instance_by_material.mcr 1.8 KB
instance_by_wirecolor.mcr 1.62 KB
temirgalin's picture


I mean, can you make macros for shortcuts?

2021-10-26_110452.png 11.71 KB
obaida's picture

if you want to select

if you want to select Instanced Hidden/Frozen Objects
open the script in notepad and replace (check_HF_state = false) with (check_HF_state = true)
in Line 6 .

Select Instance By.mcr 3.06 KB
temirgalin's picture


Can you add macros for instance panel (object, material, modifier, similar, wirecolor)?

dmitrybelonosov's picture


Hello there! Thank you for the script! It was important for me to select objects with modifiers in Instance mode. Works great!

ivailora4kov's picture

missing download link?

This script seems to be very helpful, but the download link is missing. Can you please share it with us?

tuxmask75's picture


Seems the download link is missing, oh no ! lol

dmitrybelonosov's picture

3ds max 2014

Thank you, it works now!

obaida's picture

Max 2016 and Down

I Add Version for 3dsMax 2016 and Down (How Much Down! , I don't Know :) ) you can use it.

Comment viewing options

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