Deploying MaxScript Tools

Here’s a brief description of a simple setup I created for deployment and update of tools over SVN at my workplace. Prior to this, tools were inefficiently being shared as separate files on a case by case basis. I knew the setup would need to be quick and straightforward from the designers/artists’ perspective. I did not want the end user to spend a lot of time or effort with the tools installation/updates. Also, the most recent version of the tools needed to be accessible by all users across the network.

Tools Folder – The main task was creating an organized and scalable tools folder that contains all the maxscript files. The folder also contains an icon folder, which holds all the custom icons that were created for the tools. A generalHelperFuntions.ms was created in the folder, to contain scripts for the more commonly used functions shared across several tools. Finally, there was the macros.ms file, which contains macroscripts for every script added into the tools folder.

3ds Max setup – 3ds max can be asked to run scripts on startup from a particular folder. The Tools Folder was linked to 3ds max so that whenever 3ds max starts, all the functions contained in the scripts would be initialized (In hindsight, this could be further optimized by separating the base scripts to a different location, and only the macros would be run on startup. The macros themselves would contain the location of the base scripts which could be initialized lazily)

SVN – Once the tools folder was setup and tested with 3ds max, it was checked into SVN. Tools are added/updated and checked into SVN as and when needed. For adding a new script, macros.ms also needs an entry for it.

Client Side Setup – To install the tools for an end user, the Tools Folder would need to be checked out from the repo into the users local drive and 3ds Max would be directed to read scripts from that folder on startup. This is only a one time setup (unless 3ds Max forgets the path to the Tools Folder, in which case it will have to be done again) and is a fairly simple one too.

Client Side Update – Every time a tool is updated/added, the user can SVN update the Tools Folder and restart 3ds Max, and they would have the latest version of the tools up and running.

 

Leave a Reply

Your email address will not be published. Required fields are marked *