Open main menu
Home
Random
Log in
Settings
About AddOn Studio
Disclaimers
AddOn Studio
Search
Editing
WoW:AddOn
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{dev/uiaddon}} This is the WoW [[AddOn]] main technical reference. WoW AddOns allow for altering and customizing the game, specifically through the [[user interface]]. Use the '''Reference''' section for detailed information, '''Guides''' for getting started and further understanding, and '''Summary''' for overall concepts details. See [[AddOn]]s for information on the general ''AddOn'' term used in WoW. == Reference == ''WoW AddOn files and related files and concepts'' === Code Files === * [[TOC file]] · [[TOC format]] - WoW AddOn "manifest" file. * [[XML file]] - WoW AddOn 'XML' UI element file. * [[LUA file]] - WoW AddOn 'Lua' code file. * [[Bindings file]] - for creating key bindings, or AddOn key shortcuts. === Details === * [[AddOn_loading_process|Loading Process]] - WoW AddOn loading process. === Content Files === * [[BLP file]] · - Main WoW art and texture format. * [[TGA file]] · - Alternative WoW art and texture format. * [[Edge file]] · - Texture file with special layout for use as a border. * [[Interface AddOn Kit]] === WoW Files === * [[Realmlist.wtf]] * [[Config.wtf]] * [[Config-cache.wtf]] * [[Baddons.wcf]] == Help == * [[Blizzard AddOn Policy]] === Guides === * [[Real Addon, Real Tutorial]] * [[Getting started with writing addons]] * [[AddOn programming tutorial]] * [[UI beginner's guide]] has plenty of reference links * [[Creating a WoW AddOn]] === FAQs === * [[UI FAQ/AddOns]] * [[UI FAQ/AddOn Author Resources]] === Other === * [[Troubleshooting a mod]] == Summary == WoW uses [[AddOn]]s in-part to create functionality for its own user interface. WOW users are allowed load their own addons. These user created addons allow for custom UI functionality in the game. Before getting started, every developer should read familiarize themselves with the [[Blizzard AddOn Policy]]. == Layout == Example anatomy, or file layout, of a basic WoW AddOn: * {WoW Install} (folder) - your WoW installation folder ** Interface (folder) *** AddOns (folder) **** MyAddOn (folder) - your addon's own folder, must match the .toc name ***** MyAddOn.toc ([[TOC file]]) - WoW AddOn "manifest" file ***** MyAddOn.xml ([[FrameXML]]) - [[XML]] file with visible element definitions ***** MyAddOn.lua ([[Lua]]) - Code file, with instructions for AddOn behavior This example establishes a WoW AddOn named 'MyAddOn' with one xml frame file and one lua code file. === Classic and Retail === With the addition of WoW Classic, around August 2019, the '_classic_' or '_retail_' folders are now the main WoW folders, which are inside the WoW install folder. Each of these folders are a nearly self-contained and distinct version of WoW themselves. * {WoW Install} (folder) - your WoW installation folder ** _classic_ or _retail_ (folder) *** Interface (folder) **** AddOns (folder) ***** MyAddOn (folder) - your addons own folder, must match the .toc name ****** ... addon files From looking at this, you can see that the actual folder layout is almost exactly the same as before. The exception is that there is now an extra child folder under the WoW install folder, that then contains the specific game variant. Inside that game variant are the same folders that were under WoW the install folder before. == Variants == With the addition of these new WoW game variants, like '__retail__' and '__classic__', each variant additionally has its own separate set of installed addons. An addon needs to follow the rules for the variant it's placed under. This includes using the correct [[getting the current interface number|interface version]] numbers for the variant it is installed under, which is set in the addon [[TOC file]]. Classic currently has a different interface version from the Retail interface version number, just as any '_ptr_' variant may have a different interface version number. For example, any addon in classic will need a matching version number to the current classic interface version number in order to get loaded automatically. Because of these reasons, each variant may require a alternate version of the *same addon*, for the addon to have complete functionality for that variant. This may include only a different interface version number, or significant differences in files and code for the same addon.
Summary:
Please note that all contributions to AddOn Studio are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see
AddOn Studio Wiki:Copyrights
for details).
Submissions must be written by you, or copied from a public domain or similar free resource (see
AddOn Studio Wiki:Copyrights
for details).
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Crumb
(
edit
)
Template:Dev/uiaddon
(
edit
)
Template:Editlink
(
edit
)
Template:Tocright
(
edit
)
Template:WoW/devnav
(
edit
)