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) .

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.
dmitrybelonosov's picture
obaida's picture


- about Max 2014 if there error message please post it here to check coz i don't have Max 2014 .
- about the instance modifier request , i add it in update 1.01 .
Best Regards .

dmitrybelonosov's picture

3ds max 2014

Hello. Interesting script, thank you. 1. In 3ds max 2014 is not working. Can I fix this? 2. The selection of dependent modifiers is based on the last modifier. Is it possible to make a choice for all modifiers? I recorded a video.


Comment viewing options

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