🏆 MaxPkg Developer Contest! Upload your scripts and compete for cash prizes: 🥇 $100 · 🥈 $50 · 🥉 $25. Join the contest and publish your package today!

Join the contest

Build Useful Tools, Earn Real Rewards: Join the MaxPkg Challenge

Share a complete tool that solves a real problem

The tool you rely on in your daily workflow could help other 3ds Max artists solve the same practical problem.

Think of a scene-checking tool that identifies actionable issues, a batch-processing utility with meaningful controls, or a tool that handles a complete preparation workflow. Build around a real need, provide a clear interface where one is needed, and make the result dependable enough for another artist to use.

We are inviting anyone with a useful 3ds Max script to share it on MaxPkg, with three prizes in US dollars:

  • 🥇 First place — $100
  • 🥈 Second place — $50
  • 🥉 Third place — $25

The main sponsor of this challenge is 3DGROUND.

Results will be announced after the MaxPkg catalog reaches 600 different scripts. The announcement is tied to that catalog milestone, with no fixed calendar date. Information about the winners will be published in a separate article on the MaxPkg website and across all 3DGROUND social media channels.

Entries will be evaluated by a jury that includes Vasyl Lukianenko. Contest materials will be shared on social media, and users will be able to take part in voting. User voting results will be considered alongside the jury’s assessment when determining the final results. Voting is one part of the evaluation, not the sole deciding factor.

This challenge accepts functional tools of medium complexity or higher that solve a practical task. We are looking for meaningful functionality, usefulness, and a finished experience that people can put to work.

Publishing several different useful scripts gives you more opportunities to earn a prize-winning place. Each tool must meet the entry requirements; submitting more tools does not guarantee a win.

Each person can win only one place and receive only one prize, even if they submit several scripts. One person cannot take all three places or collect multiple prizes.

Choose a concrete workflow, develop a complete solution, and show people how to use it. A focused tool can have substantial functionality without trying to cover every possible task.

Contest requirements

How entries are evaluated

Entries must be functional tools of medium complexity or higher, with meaningful functionality that solves a real practical task. Very basic scripts that perform just one elementary action, such as simply renaming layers, are not considered for this challenge.

The number of buttons is not a measure of quality. Evaluation focuses on substantive functionality, usefulness, and completeness: how well the tool solves its task and whether it provides a clear interface where needed.

Ease of use and compatibility with different versions of 3ds Max also count in the evaluation. Broader compatibility that has actually been tested is viewed positively. Clearly state which versions you have verified; broader support does not guarantee a prize or a particular place.

The jury also considers the completeness and quality of your public developer profile. A missing photograph or logo, or no description of what you do, may lower the assessment. These omissions do not mean automatic disqualification.

All participants are considered on equal terms, including beginners and people using AI to create their scripts. Entries are assessed on their usefulness and how well they work, so equal treatment does not mean an identical chance of winning regardless of quality. The additional presentation requirements for first place below still apply.

General requirements for all participants

Anyone can participate, whether you are a professional developer, an artist, or someone making a first script with AI. You do not need to be a programmer.

Enter your own script, including one you create with AI. A script you develop with AI is explicitly allowed to participate and win. You do not have to write every line by hand, and there is no limit on how much AI assistance you use. Your own scripts previously published on other websites are also welcome: you can adapt them for MaxPkg and submit them.

Do not take someone else’s finished script and present it as your own. You must be the author or developer of your entry, whether you create it with AI or write it yourself. Permission to republish another person’s script alone does not make it your own contest work. Respect copyright and the rights to any code, icons, or other materials you include.

Complete your public developer profile fully: its completeness and quality count in the jury’s assessment. Open Dashboard → Public Dev Profile, fill in Developer display name and About the developer, and add your developer logo or a photograph of yourself. Explain what you do so people can get to know the developer behind the tool. Missing an image or this description may lower your assessment, rather than automatically disqualifying you.

A valid contact email remains mandatory so the organizers can reach you if you win. Keep that address current and check its inbox.

This profile guidance concerns your public developer profile, not just your ordinary Account profile. Complete all applicable developer information; you do not need an account on every social network or a link for every available network.

Provide a usable free version

MaxPkg aims to make useful scripts as accessible, free to use, and convenient as possible. Commercial tools can also provide real value, and we respect the work behind them. This challenge focuses on growing the collection of useful free tools and making it easier for more artists to benefit from them.

The jury and other users should be able to try your work without making a purchase. To participate, your script must be free or offer a usable free version. A script is not eligible if using and evaluating the submitted version requires a purchase, paid activation, or a paid license key.

Voluntary donations and an unobtrusive offer to upgrade to a paid version are welcome, provided they do not interfere with using and evaluating the free version without payment. Make it clear how to access the free version so people can explore what your tool does. This free-use requirement applies to the challenge; it is not a platform-wide ban on paid tools.

No separate contest application is needed. A package that meets the contest requirements automatically enters once it is approved and appears in the MaxPkg catalog. Uploading a package for review is the first step; participation begins when it is approved and listed in the catalog.

Additional requirements for first place only

To be considered for first place, your package must also have:

  • Completed metadata.
  • Images and screenshots.
  • A filled-in FAQ.
  • At least one YouTube video demonstrating the script in action, lasting at least one minute.

There are no special requirements for the video’s presentation. A YouTube screen recording of at least one minute showing what the script does is enough. It can be completely silent: no voiceover, music, or elaborate editing is needed. Longer videos are welcome.

These are mandatory presentation requirements specifically for first place. They do not add FAQ or video requirements to general participation or eligibility for second or third place; the normal publishing and contest requirements still apply. Completing everything makes your package eligible for consideration for first place, but does not guarantee it. The final results take both the jury’s assessment and user voting results into account.

Get your entry ready

Prepare your own complete tool of medium complexity or higher, make its free version easy to try, and prepare a clear package page and a complete public developer profile with a working contact email. If you are aiming for first place, complete the additional presentation requirements above, including the FAQ and demonstration video. Focus on helping someone solve a real task, then build, test, and submit your package for approval.

before after layer builder

You can build it with AI

Have an idea for a useful tool but little coding experience? Start with the task you want to make easier. Describe what you do in 3ds Max, what you would like the script to do, and what a successful result should look like.

AI is allowed in this challenge, with no limit on how much you use it. You can use AI to develop the script itself, including through vibe coding, write its description and FAQs, and prepare the package. A tool you develop with AI is eligible to win, including first place, when it meets the same functionality, completeness, authorship, and material-rights requirements as other entries.

You do not need to understand every packaging detail before getting started. MaxPkg provides a ready-to-copy prompt that you can give to an AI coding assistant along with your script or project files:

  1. Open Prepare an MZP Package.
  2. At the top of the page, find Prepare the whole package with AI and click Copy full prompt. The button changes to Copied! when copying succeeds.
  3. Paste the prompt into your AI coding assistant and provide your script project. Explain what the tool does and share any requirements you already know.
  4. Ask the assistant to work through the prompt with your project. It covers code adaptation, Packager configuration, archive validation, marketplace text, and a final upload checklist. You can also ask it to draft the description and FAQs from the tool's actual behavior.

The prompt gives the assistant the packaging instructions, so you can get help with the details as you go. Review the resulting files and text, then test the finished MZP in 3ds Max. Upload the tested package through the Developer Dashboard and follow the normal approval process. Using AI does not publish or approve the package automatically.

Automate development and checks with Max Ultra MCP

Max Ultra MCP, from 3DGROUND, connects an MCP-compatible AI assistant to an already-open 3ds Max instance. Its documented tools include MAXScript execution, scene operations, viewport inspection, rendering, and UI automation within 3ds Max. Its optional MaxPkg packaging workflow helps adapt scripts to the official Packager process. See the official project and documentation.

With the connection configured, you can ask AI to help develop your tool, run checks in a test scene, inspect the results, and iterate on problems. Combine that with the MaxPkg preparation prompt to automate parts of code adaptation, packaging, and release-material preparation. Explain the expected behavior so the assistant has something concrete to check. Verify the final MZP in 3ds Max and submit it through the normal review process; automation does not guarantee a correct result or approval.

Copy the prompt and share it with your AI assistant alongside your script project.

From a working script to a MaxPkg package

MaxPkg gives your tool a package page and a versioned MZP that artists can install in 3ds Max. Whether you prepare it yourself or use AI throughout, the steps below explain the build, test, and publishing process. A package that meets the contest requirements participates automatically once it is approved and appears in the catalog.

1. Prepare your script and package materials

Choose a working tool and gather the files it needs: its main script, helpers, presets, and other runtime assets. The supported entry files are .ms, .mse, and .py.

Before you build, prepare:

  • A clear package name and a one-sentence description of what it does.
  • Your developer name, the appropriate license, and any useful documentation or support links.
  • A release version, such as 1.0.0, and a short changelog.
  • The 3ds Max versions you have tested and can support.
  • A square SVG icon for the package.
  • A separate square cover image and at least one screenshot for the website.

Write the longer description now, too. Explain what to select, how to run the tool, what changes in the scene, and any requirements or limitations. Having this ready makes it easier to complete the listing immediately after upload.

Include only the files your tool needs. For this contest, submit a script you authored or developed. Any supporting code, icons, or other materials must be your own or properly authorized for the way you use and distribute them. Check the MaxPkg Terms of Use before uploading. Describe dependencies, paid requirements, and any network activity clearly. Packages must follow the platform's safety and privacy requirements.

2. Open Dev MaxPkg Packager in your project

Get Dev MaxPkg Packager from the official repository. MaxPkg requires this tool to build packages for publication; manually assembled archives and archives built with other tools are not supported.

Copy maxpkg-packager.ms, _install.ms, and _uninstall.ms from the official project into your script project's root folder. MaxPkg requires both standard hooks, even if your tool does not need any custom installation steps.

A minimal illustration of the project layout looks like this; add all helpers and assets your tool needs:

text
my-tool/
  main.ms
  icon.svg
  maxpkg-packager.ms
  _install.ms
  _uninstall.ms

In 3ds Max, choose Scripting → Run Script and open the copy of maxpkg-packager.ms in that folder. The Packager has four tabs: 1. Info, 2. Setup, 3. Files, and 4. Release.

3. Configure the four Packager tabs

Info: explain what the tool does

Fill in Package Name, Button Name, Description, Developer Name, and License. Use a recognizable name without a version number; the release version has its own field. Add relevant links.

For a new package, click Generate to create its GUID once. Keep that identity for future releases, and retain the project's Packager configuration.

Make the description specific. “Check scene assets, report missing files, and help resolve their paths” tells an artist more than “A powerful productivity tool.” Use a description that matches your actual script.

how to fill info

Setup: choose how users launch it

Enable Create 3ds Max Button if your tool should register a macro button. Enable Show In MaxPkg Toolbar if it should appear in the MaxPkg toolbar. For a tool launched by a button, keep both enabled.

Use the standard _install.ms and _uninstall.ms hooks you copied into the project. Packager detects them automatically; do not add them to Files List.

If your tool needs extra installation or cleanup work, select focused custom .ms scripts in Setup. These supplement the standard hooks. Do not also add those custom scripts to Files List.

Only add a Quad Menu action when a toolbar button cannot reasonably serve the workflow. MaxPkg's preparation guide states that unnecessary Quad Menu entries can be rejected during moderation.

Files: choose the entry point and runtime assets

In SVG Icon, use the browse button to select your icon. It needs a square viewBox, such as 0 0 24 24. Keep it free of scripts, event handlers, and external resources. The package preparation guide explains the requirements.

Use [+] Add Files to add the main script and required runtime files to Files List. Select the file that should run when the user clicks your tool, then click Use Selected to make it the entry point.

For an .ms entry, Compile entry file .ms to .mse controls compilation of the packaged copy. Leave it unchecked if you want to distribute the entry as .ms. An existing .mse or .py entry is used as-is; Python tools need a compatible Python environment in the target 3ds Max installation.

Use Add Folder for helpers, presets, or other asset folders. Keep file references compatible with the installed package's layout; a path that only exists on your development computer will not work for other users.

Keep the package folder layout straightforward. Build Path Remap is available when your source folders need a different layout in the final package. Extra Macros lets you expose additional commands from supported script files already in the list.

tab setup

Release: identify the build

Set a three-part version such as 1.0.0, Release Date, and the release channel: stable, beta, or alpha. Choose stable for a release ready for general use.

Set Min 3ds Max to the earliest version you support. Packager fills in the upper compatibility year automatically; there is no upper-bound selector in this tab. Check the generated compatibility and clearly state which versions you actually tested in your description.

Add at least one changelog item: choose a type, enter the change, and click [+] Add. For a first version, describe the initial functionality. For an update, explain what was added, fixed, changed, removed, or improved.

Let Packager create the archive metadata from these settings; you do not need to assemble it by hand.

4. Build the MZP and test that exact archive

If Packager shows Has Issues, click it and resolve the listed problems. Once its status is Ready, click Build MZP. The default output folder is dist inside your project. Packager creates a filename in this format:

text
slug@version@guid.mzp

Keep the generated filename. You will upload that MZP directly.

To test the MaxPkg toolbar integration, first install and open MaxPkg Manager. Your tool's MZP does not install the Manager itself. A generated macro button is registered in the MaxPkg category in 3ds Max's Customize User Interface.

Test the finished archive on a clean or test 3ds Max setup:

  1. Run the generated .mzp through Scripting → Run Script.
  2. Launch the tool using its configured button or command.
  3. Try the operation on a test scene and verify the result.
  4. Check that helpers and assets work without relying on your source folder.
  5. Check the intended toolbar or menu placement and uninstall behavior.
  6. Test the 3ds Max versions you plan to declare as supported.

If you change the script or packaging, build again and test the replacement archive. Upload the exact file you tested.

5. Create your developer profile

Sign in to MaxPkg, or create an account if you need one. Open Account and choose Become a Developer. Follow the welcome screen into profile setup.

Enter your Developer display name and a short bio. Click Create developer profile, then upload your developer logo or a photograph of yourself. Click Continue to package setup. Although onboarding lets you skip the image and bio, complete them for a stronger public profile: missing either may lower the jury’s assessment.

If you already have a developer profile, open the Developer Dashboard. A new profile can upload packages while its profile review is pending; a Verified Developer badge is not a prerequisite.

Before participating, open Dashboard → Public Dev Profile and finish all applicable developer information. Fill in Developer display name and About the developer, upload your developer logo or a photograph of yourself in Logo, and add or check the Email entry under Public links. A valid contact email is mandatory. Complete the image and description too: the jury considers profile quality, and missing these details may lower your assessment without automatically disqualifying you. Social links are needed only where applicable; having an account on every network is not required. The contact email is displayed on your public developer profile. Use an address you monitor so the organizers can reach you if you win, wait for the changes to save, and use View public profile to check the result.

6. Upload your tested MZP

Open Upload an MZP package. Drop the generated archive into Drag & drop MZP here, or click Choose MZP. The uploader accepts .mzp files up to 100 MB, with the generated slug@version@guid.mzp filename.

Use that direct link to follow the guided setup below. Uploading from the main My Packages page opens the same package sections as editor tabs instead.

MaxPkg reads the package metadata and icon, creates the package and version records, and opens the package setup flow.

Uploading the MZP sends the new package to moderation immediately. Complete the listing after upload so the reviewer has the description and images they need. The following setup steps do not act as a final confirmation before submission. Pending package details can appear in the public Approval Queue before normal catalog publication.

If validation fails, read the upload error, correct the source project in Packager, rebuild, and test again. For example, a rejected SVG needs to be cleaned and selected again in Packager before rebuilding.

image

7. Complete Package info

Review the imported Name, choose a Category, and check Short Description and License Type. Add a Full Description with clear instructions, requirements, and limitations; the publication readiness check expects it to be filled in. Add useful tags and links where relevant.

A helpful description answers four questions: What does this tool do? What should I select or prepare? How do I run it? What result should I expect?

Metadata changes save automatically. Wait for Saved and resolve any validation errors before continuing. If you change the package name, wait for the availability check and click Apply. Choose a name you intend to keep, and keep your Packager project consistent with the listing.

Click Next: add images.

8. Add the cover and screenshots

The Images step contains three separate areas:

AssetWhat to provide
Cover imageA separate square image in PNG, JPG, JPEG, or WEBP, up to 5 MB.
Manifest SVG iconImported from the MZP; it is separate from the website cover.
GalleryAt least one screenshot in PNG, JPG, JPEG, or WEBP, up to 10 MB each.

The cover and at least one gallery screenshot are required for publication readiness. Make the cover readable at a small size. Use screenshots that show the tool and its result, with enough context to understand what happened.

Generate your cover with AI

You can create the cover with an AI image generator. In Images, find the Tip beneath Cover image and click Copy prompt. MaxPkg fills the prompt with your package details and the available screenshot and icon references. Paste it into an image-capable AI assistant; if it cannot open a reference, attach that image yourself.

The existing MaxPkg prompt calls for a minimal composition with a few large elements, an outer safe margin of 3% for important visual elements, and 6% for all text, on all four sides. The background can extend to the edges.

Here is the same prompt for a package awaiting approval, with its package-specific values shown as placeholders. Replace the bracketed fields, remove optional fields for which you have no information, and add more screenshot entries if needed. The dashboard button supplies the appropriate published-page wording for an approved package.

text
Create a bright, compelling, professionally designed square (1:1) cover image for this MaxPkg script package for Autodesk 3ds Max.

Package name: [Package name]

Public package URL: [Your MaxPkg package URL]

This package is not currently approved for publication. Its public URL may not be accessible yet. Use the available package context below; do not assume you can inspect a published page or invent features.

Category: [Category]

Summary: [Short description]

Description:
[Full description]

Package SVG icon: [Icon URL, if available]

Screenshot 1: [Screenshot URL, if available]
Title: [Screenshot title]
Caption: [Screenshot caption]

Inspect the screenshots and SVG icon on the public package page, or the provided asset URLs when available. Use them to understand this package and choose a suitable palette and visual style. If these references are inaccessible, use the supplied context and do not claim to have viewed them.

Design requirements:

- Use a meaningful, large illustration that communicates what the script does, with a clear focal point and a minimal composition built from a few large elements.

- Include the package name as large, readable text. Keep any additional text brief and readable at package-card size. Place text at the top, left, or right as appropriate; choose the layout that best fits this package.

- Use bright, saturated colors, strong contrast, and polished typography. Choose colors and visual language appropriate to this package rather than imposing a fixed palette or decorative style. Avoid tiny details, tiny icons, generic AI-looking clutter, and unnecessary decoration.

- Keep all important visual elements inside an outer safe margin of 3% on all four sides of the canvas.

- Keep all text inside a text safe margin of 6% on all four sides of the canvas.

- The background may extend to the canvas edges. Deliver a square 1:1 image suitable for a package cover.

Review the generated image for accurate wording, readable text, and a faithful representation of your tool, then upload it as the square cover in one of the supported formats. Add actual screenshots of the tool to the gallery as well.

image

You can drag gallery images to reorder them; the first screenshot is primary. The interface recommends square screenshots, but their purpose is to explain the tool clearly.

Wait for the uploads to finish, then click Next.

9. Finish setup and follow the review

The final setup step is FAQ. The platform marks it optional for normal publication, but a filled-in FAQ is mandatory if you want your package to be considered for first place in this challenge. Add useful answers to recurring questions, such as where the tool appears, how to use it, or whether it requires another plugin.

Click Finish setup. For a normal new-package upload, the completion screen says Your package is waiting for moderation. You can use Open package editor to return to the listing and complete or correct its details while it is pending.

Check Publication for the package status and Versions for the uploaded release, including its imported compatibility information. Normal catalog publication and release availability require the corresponding approvals. Submission does not guarantee approval or a particular review time.

If a package needs corrections, read Moderator feedback in its editor. For a rejected release, open its details under Versions. Correct the reported issue and follow the upload process for a new version when package files need to change.

An existing draft or rejected package may show Submit Package in Publication after you complete its readiness requirements. This is a separate action for those states; the normal new MZP import has already submitted the package.

image

First-place preparation checklist

Before your package is considered for first place, check that all of the following are complete:

  • Package metadata is filled in, including the name, category, short and full descriptions, and license type.
  • The package has a cover image and screenshots showing the tool and its results.
  • The FAQ contains useful questions and answers about the script.
  • At least one YouTube video is added to the package, demonstrates the script working, and runs for at least one minute (60 seconds); it can be longer. A screen recording showing what the script does is sufficient. It can be completely silent; no voiceover, music, or elaborate editing is needed.

To add the video, open Open package editor after finishing setup, then choose the Videos tab. Under YouTube Videos, paste the demonstration's link into YouTube URL and click Add video. Check that the video appears, plays correctly, and meets the minimum duration. A screen recording can show the starting scene, the script in action, and the result so viewers understand its purpose. There are no special presentation requirements: the recording can be completely silent, with no voiceover, music, or elaborate editing.

This checklist is required for first-place consideration. It does not guarantee a prize; the final results take the jury’s assessment and user voting results into account.

image

10. Keep the package useful after publication

When an approved package is public, open its page from the URL shown in Publication. Check how its description, cover, screenshots, and release information appear to users.

For an update, keep the same package GUID, choose a new version number, update the changelog, rebuild in Packager, and test the new MZP. In the existing package's Versions tab, use Drop a new MZP version or Choose MZP.

Uploaded release files and their version details are not edited in place. A correction to an uploaded release requires a newly built version. Check its resulting status: versions normally enter review, while accounts with version auto-approval enabled can receive approval automatically.

image

Keep improving the tool after release: address problems, refine the workflow, and explain changes clearly. Maintain the functionality and reliability that let another artist use it with confidence.

Open the package preparation guide, build and test your tool, then complete its page in the Developer Dashboard. Complete your public developer information in Public Dev Profile, upload your developer logo or a photograph of yourself, and provide a valid contact email. If your package meets the contest requirements, it automatically enters once it is approved and appears in the catalog. There is no separate application to send.

Lukianeno Vasyl
3D Artist and Technical Author

Vasyl Lukianenko is a 3D artist and technical author focused on practical workflows, optimization, and production-ready techniques. He publishes tutorials, courses, and tools to help artists work faster and get cleaner results.

Latest articles