Macroscript Creator

18 votes
Date Updated: 

Most MAXScripts are available in .ms format and if there is a .mcr file included, it often requires rigid path structure to work. This little script creates macroscripts to run .ms or .mse files, the files themselves can be placed basically anywhere and you can define how they show in the interface.

Macroscript Creator UI

Installation: The .ms file can be run from any location (Maxscript -> Run Script...). If you want to put it in toolbar, menu or quadmenu,

Additional Info: 
  • The Category text associates the script with a corresponding category in the Customize User Interface dialog or creates it if it does not exist yet.
  • Script ID is a unique identifier of the macroscript, to find out more about the naming conventions refer to Names section of the MAXScript Reference.
  • Button text is the text that displays when the macroscript is placed as a button on a toolbar and no icon is assigned to it.
  • Tooltip shows when mouse cursor hovers over the button and is also displayed in the Customize User Interface dialog and in quad menu.

Pressing the EXECUTE button executes the resulting macroscript definition, which means that the script is now available and ready to be assigned to a shortcut, quadmenu or pinned to a toolbar. Using the Edit... button instead allows you to edit the definition yourself and skips all the automated checks. If you want to execute the resulting script, press CTRL + E in the edit window or choose File > Evaluate All from the menu.

To learn more about macroscripts, be sure to visit Defining Macroscripts.


Version Requirement: 
3ds Max 9, VIZ 2008
Other Software Required: 
for Max 9/VIZ 2008 AVGuard extension is needed
create_macro.ms2.75 KB


Comment viewing options

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

very useful

very useful tool, thanks, and please add a label to assign icon like this

add_icon_label.png 8.23 KB
Haider of Sweden's picture

Recognising userScript-path

How can I swap out the part from the path that is equal to getdir #userScripts?

For example if ebxPath is c:\3dsmax\scripts\utilities\anim\
and my userScripts is c:\3dsmax\scripts

this is my test

usPath = getdir #userScripts
ebxPath = (substituteString fullpath usPath "$userScripts")
substituteString ebxPath "\\" "\\\\"

But I have no clue how to merge it with the script.

I would like the macroscript to be created with a path like this:

on execute do fileIn "$userScripts\\utilities\\anim\\"

Kind regards

Fixtion's picture

works with 2018.4 ;)

thx ;)

todor's picture

Great :)

Very cool script :) Thank you :)

Marsman's picture

Works with Max 2017

Thank you very much!

Swordslayer's picture


It works without issues. Make sure you read the instructions.


Not working in 2018 anymore!

Hi !

I just gave this script a try in Max 2018.4 and it did not works.
May you please double-check, if you can ?
This is a VERY necessary tool !

Thanks for any help!

Mirk217's picture


thank you for this script!

3D_Animator's picture

Excellent Script!

Excellent Script!
Thanks for share! =)

Comment viewing options

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