Resources & References¶
A curated collection of documentation, tools, and community resources for World of Warcraft addon development.
API Documentation¶
Tier 1 — Essential References¶
These are the primary sources every addon developer should bookmark.
| Resource | Description |
|---|---|
| World of Warcraft API | Primary API reference — the definitive source for all WoW API functions |
| Events Reference | Complete list of in-game events you can register and handle |
| C_ Namespace Index | Index of all C_ API namespaces (C_Map, C_Item, C_Timer, etc.) |
| API Change Summaries | Patch-by-patch tracking of API additions, removals, and changes |
| XML/UI Reference | XML schema and UI widget definitions |
| Interface Customization Hub | Central hub page linking to all UI/addon topics on the wiki |
Tier 2 — Highly Useful¶
Supplementary references and beginner-friendly guides.
| Resource | Description |
|---|---|
| Wowpedia API Reference | Backup API reference — sometimes has details or history not on warcraft.wiki.gg |
| Widget API (Wowpedia) | Comprehensive widget method reference (Frame, Button, FontString, etc.) |
| Beginner's Guide to Addon Coding (Wowhead) | Start-to-finish beginner tutorial covering Lua basics and addon structure |
| Addon Writing by Example (Wowhead) | Hands-on tutorial building a simple addon step by step |
| Create a WoW Addon in 15 Minutes | Quick-start guide for getting your first addon running fast |
| Events A-Z Full List | Single-page alphabetical listing of all events |
Official Blizzard Sources¶
Note
Blizzard does not provide standalone addon API documentation. The community wiki is the primary reference. The links below cover what Blizzard does publish.
| Resource | Description |
|---|---|
| Battle.net Developer Portal | Official Web APIs (game data, profiles) — not addon/in-game APIs |
| 10.0 UI Documentation Thread | Blizzard's forum post on the 10.0 UI overhaul with migration guidance |
| Addon Releases with GitHub Actions | Official forum guide on CI/CD pipelines for addon distribution |
VS Code & Editor Tools¶
| Resource | Description |
|---|---|
| Lua (sumneko) Extension | Lua language server with IntelliSense, diagnostics, and formatting |
| WoW API Extension | Autocomplete and type annotations for all WoW API functions and events |
| WoW API Extension Source | Source repository — useful for contributing or customizing definitions |
| WoW UI Schema | XML schema definitions for WoW UI XML validation in your editor |
Open Source Addon Examples¶
Study well-maintained addons to learn patterns and best practices.
| Addon | Description |
|---|---|
| OmniCC | Cooldown count addon — clean example of hooking into Blizzard frames |
| Bagnon | Inventory addon — demonstrates complex UI with multiple frame types |
| Total RP 3 | Roleplay addon — large-scale addon with modules, localization, and saved variables |
Community Resources¶
| Resource | Description |
|---|---|
| awesome-wow | Curated list of addon development resources, libraries, and tools |
| wowprogramming.com | Classic-era reference (WotLK/Cata) — still useful for fundamentals |
| AddOn Studio 2022 | Full IDE for WoW addon development with visual designer |
CI/CD & Distribution¶
BigWigs Packager¶
The BigWigs Packager is the community standard for automated addon releases. It handles:
- Packaging your addon with correct TOC and file structure
- Uploading to CurseForge, WoWInterface, and Wago
- Generating changelogs from git history
- Substituting version tags in your TOC file
GitHub Actions Workflow¶
A typical release workflow using BigWigs Packager:
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: BigWigsMods/packager@v2
env:
CF_API_KEY: ${{ secrets.CF_API_KEY }}
WOWI_API_TOKEN: ${{ secrets.WOWI_API_TOKEN }}
WAGO_API_TOKEN: ${{ secrets.WAGO_API_TOKEN }}
Set your API tokens as repository secrets, then tag a release to trigger automated distribution.
Quick Reference: Where to Look¶
| I need to... | Go to |
|---|---|
| Look up an API function | warcraft.wiki.gg API |
| Find an event name | Events Reference |
| Check what changed in a patch | API Change Summaries |
| Understand a widget method | Widget API |
| Set up VS Code | WoW API Extension + Lua LSP |
| Automate releases | BigWigs Packager |
| Learn from examples | OmniCC / Bagnon |