Including Scripts Within Scripts

MAXScript provides a compile-time source-file include mechanism, allowing you to break up large scripts into smaller files that can be included at nearly any point in a script. You can use the include <file> construct at any point in your code to effectively insert the contents of a file at that point in your code.

The form is:

include "filename_string"


This is a compile-time construct, therefore the file name specification must be a string literal, and not a variable or an expression.


utility foo "Baz"


local a, b, c

include ""

rollout bar "Bar"


include ""


include ""


The include <file> construct is effectively replaced in the source code at that point with the contents of the named file.

You can nest included files as deeply as needed; included files can include other files, and so on.

Because include is a compile-time construct, the current MAXScript scope is maintained within the included file. This is opposed to the fileIn() method described in Running Scripts, whose script file content is compiled in a global scope context. For more information, see Scope_of_Variables.

The include <file> can appear at any point a new token is expected, such as a name, literal, or punctuation. This means that you could complete a partial expression with an included file. For example:

include "" + include ""

if include "" then print a else print b

You cannot place an include <file> within a token. For example, the following is not valid:

timeval = 2:include "".0