What is Maxscript? Why do we need to learn?
This is the first line in the Maxscript manual.
MAXScript is the built-in scripting language of Autodesk® 3ds Max®
It is a programming language to talk to 3dsMax and make 3dsMax do something. It is a scripting language which means you don’t need to compile the code to run. By using a series of text based commands instead of using UI, you can do a lot of tasks that you wouldn’t or can’t do with UI.
Maxscript is a proprietary language originally developed by John Wainwright at Lyric Media and included in 3D Studio Max 2. A fun fact, he was the first customer of Amazon.
Why do I need to learn?
The first benefit of learning script would be the automation. If you find yourself doing the same stuff over and over, more than 5 times. it's probably time to write a script. But, it's not solely about speed; it's also about reducing mistakes and saving your sanity.
Customization is another cool reason to learn Maxscript. Imagine having your own toolbar with all your favorite tools in one place. Sounds cool, right?
But there's more to it than that. Learning Maxscript can help you understand 3ds Max better. When you use the UI, you're interacting with 3ds Max through an extra layer. However, scripting enables direct communication with 3ds Max in its native language. This direct connection grants a clearer perspective on how 3ds Max operates, leading to a more comprehensive understanding of the software's inner workings.
But, hey, hold on a sec. We're in the era of ChatGPT. Can't we just ask ChatGPT? Sure, you can try that. But the thing is, ChatGPT doesn't always give you the right answer. And when it comes to computer code, it has to be 100% correct. Even a tiny mistake and it just won't work. You can keep asking until you get it right, but that's a lot of wasted time. But if you know the basics of Maxscript and can spot what's wrong and why, ChatGPT can actually be the best teacher for you.
But, But, But, Why not Python?
Some of you might be wondering why I chose Maxscript over Python. Isn’t Python more so called “industry standard”?
Well, the first thing is, this course isn't really about teaching "programming" in the traditional sense. We'll learn how to chat with 3ds Max using code, but it's not the same as learning programming. For this course, we only really need to know a few programming concepts, so it doesn't matter if we use Python or Maxscript.
Secondly, the Python support in 3ds Max is basically just a way to use Maxscript in Python. So, you still need to know how to script in Maxscript.
But the best part is, Maxscript is way easier than Python. It's almost like talking in English.It doesn't care if you use lowercase or uppercase or if you indent your code or not. And it has a ton of sugar coated features that make it easy to do stuff. Trust me, starting with Maxscript is way easier than starting with Python. You can just focus on learning how to script with Maxscript, and that's already a lot of work.
Also, it is pretty much production proven and battle tested at this point. It has served as a backbone of many studios including some well known big names. It also has a very tight integration with dotnet which covers most of missing generic features. Honestly, if you are making a tool only for 3ds Max, there is very little reason to use Python. I only use Python when I have to build a tool for multiple programs.
Something to read
Make some time and please read these pages from the Maxscript help.
That's it!