MAXScript scripting in 3ds Max

MAXScript is a proprietary, built-in scripting language for 3ds Max. It is an interpreted language with dynamic typing that allows for procedural, some level of functional, and some level of object-oriented programming.

MAXScript's tight integration into 3ds Max enables users to program a wide variety of tools, including extending existing plugins, that can be seamlessly integrated into the 3ds Max user interface. MAXScript interfaces with .NET and Python, and even makes OLE-based automation possible. Arbitrary C++ code can be exposed to MAXScript through a MAXScript extension plugin type (dlx), but in general, widely used libraries in various domains are not available through MAXScript, except indirectly through .NET or Python.

MAXScript has been designed to hide the complexities and implementation details of the 3ds Max object model or scene graph. This makes it easy to access properties in complex scene elements without overly verbose code. MAXScript code can be encrypted in order to protect intellectual property.

MAXScript is easy to learn, especially given its integration with the 3ds Max Macro Recorder , but it is much slower than compiled languages like C++ and .NET (C#), and a bit slower than Python. Learning resources are limited to those published by Autodesk, although there's a relatively large user community with a good online presence, ready to share and help those who are new to MAXScript.

Bottom line: if you don't consider yourself a professional software developer, value speed of development over the performance of your tool, your tool needs to integrate seamlessly and only in 3ds Max, choose MAXScript as your scripting language in 3ds Max.

For more information, please see the 3ds Max MAXScript Developer Guide.