This is not intended to be exhaustive, but merely gather together resources we have found useful in writing our addon and make them easy for us to find again.
- Official Documentation
- Unnofficial Documentation
- Lua 5.1 Manual
- WoWPedia: AddOn Author Resources
- /r/WoWAddons Wiki
- Microsoft Visual Studio Code (free) + WoW Bundle
- Atom.io + LUA packages
- Lists on WoWPedia: AddOn Author Resources
- /etrace - Blizzard's event tracker
- /tinspect - Blizzard's table inspector
- Beginning file complier - Easy way to create your base files
- VirageDevTool - Explore and interact with the API in-game with a search
- EventTracker - Detailed event tracker
- CPUThieves - Profile your addon
- WoWInterface AddOn update API - Upload mirror from Curse using WoWInterface API
- Addon Packager Proxy - Automatically package and upload when you push to Curse
- Files must be TGA or BLP (proprietary) format.
- Sizes must be powers of two (2, 4, 8, 16, 32, 64, 128, 256, 512, 1024), though the two dimensions do not have to be equal.
- Max dimensions are 1024x1024.
- Must be 32bit (8 for each channel - red green blue and another 8 for the alpha channel). In GIMP or Photoshop: Image > Mode > RGB.
- Addons are loaded in alphabetical order.
- TOC files load from top to bottom.
- File changes can be loaded into the game using a /reload, unless it is in the TOC file (more).
- If new files are added, the entire game must be exited and restarted for them to be loaded.
- Addon Dependencies
- Variable scoping - Careful not to overwrite globals, use unique names for your variables, and use locals whenever possible.