🚀 Calling all 3ds Max developers!

Join MaxPkg today and let users discover, install, and update your scripts with just a few clicks. We’ll help you publish your first package.

Contact us!
Creators

Prepare an MZP Package

Prepare an MZP package

Use this checklist before uploading a script to maxpkg. A clean package is easier to review, safer for artists to install, and less likely to need changes after submission.

If you are adapting an existing script, use the full AI prompt above with Codex or Claude Code. It can adapt the project, configure MaxPkg Packager, validate the archive, prepare marketplace text, and give you the final upload steps. It will ask only for facts it cannot safely determine, and it will not claim a 3ds Max runtime test passed when 3ds Max is unavailable.

You must build the archive with Dev MaxPkg Packager. It is the required and supported way to create an MZP package for maxpkg: it produces the expected archive structure and metadata. MZP files built by other tools or assembled manually are not supported for publication.

Have these ready before building

Before opening Dev MaxPkg Packager, prepare these package materials:

  • the script or tool files that the user actually needs;
  • a clear package name and short description;
  • a new version number and useful changelog entry;
  • the supported 3ds Max year range;
  • a license type and any relevant documentation or homepage links;
  • a square SVG icon — this is required for every package.

Only include files required by the package. Do not add source projects, personal files, private client material, credentials, license keys, or unused archives.

Dev MaxPkg Packager creates the required archive structure, file name, package identity, and internal metadata for you. Do not edit or assemble those files manually: focus on the package details in the Packager interface instead.

1. Info — describe the package

Fill in the public information users will see:

  • Package Name and Button Name — short, clear names without emoji or unusual symbols;
  • Description — one sentence explaining what the tool does;
  • Developer Name and License — both are required;
  • optional Homepage, Documentation, Support, and Purchase links when relevant.

Choose the license deliberately: Free, Shareware, Commercial, Open source, or Trial. Do not use a third-party name, logo, or asset unless you have permission or a compatible license.

2. Setup — choose how it appears in 3ds Max

Enable Create 3ds Max Button when the tool should create a macro button at install time. Turn on Show in MaxPkg Toolbar when it should appear in the MaxPkg toolbar.

Add an action to the Quad Menu only when a toolbar button cannot reasonably cover the workflow. A crowded Quad Menu hurts every user's workflow, so unnecessary entries are rejected during moderation.

Both standard hooks, _install.ms and _uninstall.ms, are required. Copy them from Dev MaxPkg Packager into the project root. Packager detects and includes them automatically, so do not add them to the Files List.

If the project has a special installation or cleanup step, select a small focused custom .ms install or uninstall script in addition to the standard hooks. For example, use one to register a package-owned callback or remove it during uninstall. Do not add that same custom file to the Files List.

3. Files — include the tool and choose its entry point

Add every file the tool needs after installation to Files List: the main script and any helpers, presets, UI files, or other package-owned runtime assets. The main entry file may be .ms, .mse, or .py. Select it in the list, then click Use Selected. An .ms entry can be compiled to .mse during build; .mse and .py run as-is.

Use Add Folder for presets, helpers, UI files, and other runtime assets. Use Build Path Remap only when the source project folder differs from the folder structure needed inside the final package — for example, map COMPILE to / to place its files in the package root.

Need more than one command? Open Extra Macros, choose an already-added .ms, .mse, or .py file, give the button a name, and add it. Put an extra macro in the Quad Menu only as a last resort: prefer a toolbar button whenever it works. Quad Menu use is moderated, and a package with an unjustified entry will not pass review.

Icons and visual assets

Every package must include a square SVG icon selected in Dev MaxPkg Packager. The icon must use a square viewBox, such as 0 0 24 24 or 0 0 512 512. An archive without it cannot be uploaded to maxpkg.

Keep SVG icons simple and safe: do not include scripts, event handlers, iframes, embedded objects, or external resources. If the upload rejects an SVG icon, open it in SVGOMG, optimize it, save the cleaned file, replace the icon in Dev MaxPkg Packager, and build the MZP again.

Use vector artwork for the package icon — preferably artwork you created yourself. Do not use a third-party icon or other artwork unless you have an explicit right to redistribute it in the package; giving credit is not permission.

4. Release — version and changelog

Set the version, release date, channel, and minimum supported 3ds Max version. Choose Stable, Beta, or Alpha based on what users should expect.

Add at least one Changelog item for every version before building. Use Added, Fixed, Changed, Removed, or Improved, and write what actually changed for users.

Safety and behavior

Your package should do only what its description promises. Before submitting, check that it does not:

  • collect or send user data, project files, credentials, or system information without clear consent;
  • alter or damage 3ds Max, scenes, other plugins, user files, or the operating system unexpectedly;
  • hide behavior with obfuscation or encrypted loaders;
  • download, load, interpret, or execute code from a remote service;
  • include misleading dialogs, hidden downloads, advertising, crypto-mining, or unrelated actions.

If the package needs a network request for a stated feature, explain what data is sent and why before the request is made. Network responses may be data only — never code for execution.

Test before upload

Build the final MZP and test that exact archive on a clean or test 3ds Max setup:

  1. Run the MZP through Scripting → Run Script.
  2. Confirm the tool installs and opens as described.
  3. Check toolbar/menu setup, uninstall behavior, and the supported 3ds Max versions.
  4. Verify that no unexpected files, network requests, or dialogs appear.
  5. When the Packager status is Ready, click Build MZP, then upload the tested archive in the Developer Dashboard.

New packages and new versions go through review. If a version needs changes, correct the package, use a new version number, rebuild the MZP, and upload it again.

Final checklist

  • A square SVG icon is selected in Dev MaxPkg Packager.
  • Both standard hooks, _install.ms and _uninstall.ms, are present in the project root.
  • The package is tested in 3ds Max.
  • All included content is yours or properly licensed for redistribution.
  • The package follows the Terms of Use.