Docs / Getting started / Requirements
Requirements
The host application, the Python and Qt stack it provides, and the MMCP server the plugin talks to.
| Item | Requirement |
|---|---|
| Host application | Autodesk 3ds Max 2027, Windows x64 |
| Python | 3.13.9, bundled with Max — nothing is installed alongside it |
| Qt and Max bindings | PySide6 6.8.3, pymxs 29.2.0 and qtmax 29.2.0, all from Max's own site-packages. The plugin uses no other Qt binding. |
| NumPy | Not in that site-packages — it resolves from the per-user %APPDATA%\Python\Python313\site-packages |
| Generation backend | A reachable MMCP server: a local one, or Animatica Cloud |
#The NumPy check
NumPy is checked, not installed, at startup. _ensure_numpy_ready in
animatica_to_max/_startup.py probes for it before any window is built, and on
a Max whose Python has been altered it stops with one sentence naming the
interpreter and the pip install command to run — never a traceback.
Why a check and not a bootstrap — DCC pythons and
pipdo not mix reliably, so the plugin refuses to touch the interpreter Max runs on. That is also why the shared Animatica core is vendored into the plugin rather than installed as a package.
#The server
The plugin is an MMCP client; the server generates. You need one of:
| Backend | Address | Notes |
|---|---|---|
| Local | http://localhost:8000 — the DEFAULT_SERVER_URL in animatica_core/constants.py | Your own MMCP server. Animatica never starts one for you. |
| Cloud | https://api.animatica.ai | Needs an Animatica account and a signed-in session |
Both are configured in Settings; see First launch.
A busy local server looks like a dead one — the liveness probe waits five seconds. A single-worker local server that is in the middle of answering a generation cannot answer the probe within that window, so it is reported as unreachable even though it is running normally. Wait for the run to finish, then press Test in Settings.
#The menu system
The plugin registers its menu through Max's 2025+ CUI menu system, from a
#cuiRegisterMenus callback. It does not use menuMan, which is absent in
Max 2027.