We have moved to Warcraft Wiki. Click here for information and the new URL.



HOWTOs are detailed documents describing "how to" accomplish something specific. Most of them will assume a basic understanding of the WoW scripting language and framework. For more information on the framework please refer to Project:Interface customization, AddOns, and World of Warcraft API.

This list may be incomplete; all HOWTOs are listed on Category:HOWTOs.

Getting Started[]

Introduction to Lua
Learn the basics of Lua.
Create a WoW AddOn in 15 Minutes
Creating a Hello World addon.
Viewing Blizzard's interface code
The default UI is shipped as if it were a collection of dozens of addons, and this is how you see the source.
Ace3 for Dummies
Create an addon with the Ace3 framework.
Using the BigWigs Packager with GitHub Actions
Automate your addon development workflow.

General Lua tutorials[]

Common Lua shortcuts
Commonly occurring uses of Lua logic evaluation short-cuts, method syntax and the global environment.
Hooking functions
Functions are first-class values in Lua, which allows you to override or extend the behavior of already declared functions.
Pattern matching
An overview of the regular expression features of Lua.

General Addon tutorials[]

Getting the current interface number
For use in .toc files.
Handling events
Creating, and managing event handler code.
Saving variables between game sessions
Description and examples of saving variables to disk.
Creating defaults
Creating default values in your addon's saved variables.
Creating key bindings
Creating user-configurable bindings, using the Bindings.xml, Lua, or RestrictedEnvironment APIs.
Localizing an addon
General techniques enabling localization.
Using the AddOn namespace
Sharing data privately between multiple Lua files in the same AddOn.

Using FrameXML[]

Creating a slash command
Creating and using slash command handlers.
Creating standard left-sliding frames
using the UIPanelLayout attributes to manage your frame's position.
Make frames closable with the Escape key
using UISpecialFrames to enable this behavior.
Creating simple pop-up dialog boxes
Using StaticPopup to display simple prompts.
Using the ColorPickerFrame
Invoking the default color picker.
Using UIDropDownMenu
Drop down boxes and menus using the FrameXML API.
Using the Interface Options Addons panel
Describes how to create an option panel that works with the default UI's Interface Options frame.


Making draggable frames
Describes several methods to allow the user to move a frame.
Making resizable frames
Shows how to create a frame that can be resized using the mouse.


Dragonflight Talent System
Learn to use the new Dragonflight talents API
Mythic Plus Score Computation

See also[]