Addon format

A package is a ZIP that extracts straight into Interface/AddOns: one folder per module, each with its .mod file. Bundles with several modules are fine.

MyAddon.zip
└── MyAddon/
    ├── MyAddon.mod
    ├── MyAddon.lua
    └── MyAddon.xml
What the registry reads from the .mod
  • UiMod name: the module name. Dependencies in other addons refer to it, so keep it stable.
  • UiMod version: rewritten to the release version you enter (semver), so the in-game addon manager and the registry agree.
  • Dependencies/Dependency: matched against stock modules, the package itself, and other registry addons. optional="true" is honoured.
  • VersionSettings gameVersion: compared with the current client version (1.4.8). The game marks mismatches as out of date.
  • WARInfo/Categories and WARInfo/Careers: pre-fill the addon's categories and careers.
  • Replaces: recorded, and used to warn about conflicting overrides.
Rules
  • Versions are strict semver: 1.2.3, 2.0.0-beta.1.
  • No executables, scripts or nested archives.
  • At most 25 MB compressed.
  • Junk such as Thumbs.db and .orig files is removed automatically.