Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
WoW
Talk
English
Views
Read
Edit
History
More
Search
Navigation
Home
Random page
Help using wiki
Editions
for WoW
for WildStar
for Solar2D
Documentation
for WoW
for WildStar
Reference
WoW
⦁ FrameXML
⦁ AddOns
⦁ API
⦁ WoW Lua
WildStar
⦁ AddOns
⦁ API
⦁ WildStar Lua
Engine
Tools
What links here
Related changes
Special pages
Page information
Site
Recent Changes
Editing
WoW:Creating a WoW AddOn
Jump to navigation
Jump to search
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!
{{uiaddon}} == Creating an AddOn == First of all, you need to create a new directory in Interface\AddOns. The name of this directory is kind of important, as it is what other AddOns use to refer to your AddOn (in dependencies). Therefore, using version numbers in your AddOn directory name can be a bad idea; you will run the risk of having other AddOns "break" when you change the version. This will probably lead to people either not depending on your AddOn or, worse, that they'll keep using an old version. Major version numbers as part of AddOn directory names might work, though. Look at [[Getting started with writing addons]] to get a better idea of the structure of an addon. == Toc files == '''.toc''' is short for "table of contents". A functioning AddOn will need a file named <code><YourAddOnDirectoryName>.toc</code> in "<code>Interface\AddOns\YourAddOnDirectoryName\</code>". This file needs to have two things - an interface keyword with a correct interface number, and the name(s) of one or more files to load. However, Blizzard asks that you include at least these five client recognized tag lines: ## Interface: 40000 ## Title: My Add On ## Version: 1.0.0 ## Notes: A short description of my AddOn ## Author: Your name or memorable descriptor (e.g. LuckyLuke) * Tip: Make sure you do not have any extra spaces at the end of the line with the filename specified. If you do, the extra space is taken as part of the filename and will cause your AddOn to silently fail to load. * Tip: The .toc file is not reloaded when you reload the user interface; if you make changes to it, you will need to quit all the way to the desktop before they take effect. To get the latest interface number, see [[Getting the current interface number]]. The number in the .toc file must match the current build or the add on will not be loaded/active, unless the user has explicitly told WoW to load out-of-date Addons. If the .toc file declares an interface number prior to 2.0.0 (i.e. pre-[[The Burning Crusade]]), the AddOn can not be loaded, regardless of the load out of date AddOns setting. * '''40300 is the current interface number as of March 9th, 2012''' === Bindings.xml === If you include a [[Bindings.xml]] file, it does not have to be included in your .toc list of files to load - WoW loads this file automatically. This file is used to set key bindings specific to the AddOn. === Other keywords in the toc file === Please check out [[The TOC Format]] for a more detailed list. == Troubleshooting an AddOn == As of [[Patch 2.3]], if you get a message "Interface action failed because of an AddOn", this means that an AddOn interfered with the secure elements of the Blizzard UI in some way. To diagnose this, enter the following into chat "<tt>/console taintLog 1</tt>" to enable basic taint logging and restart the game before trying try to reproduce the taint error. If you reproduce it, you can quit the game and search through the file <tt>Logs\taint.log</tt> for the word "<tt>blocked</tt>" and mail the log to the author of the AddOn listed there. Once you have done this you can turn off logging by entering the following into chat "<tt>/console taintLog 0</tt>" The command "<tt>/console taintLog 2</tt>" will produce significantly more detail in the taint.log than the basic logging level does. Generally, it is not recommended end users use this option unless asked to do so. If you do use the higher logging level, it is strongly recommended that all other addons other than the one causing the taint problem be disabled before you log in and reproduce the problem. The taint log can become large and difficult to interpret with multiple addons running. Narrow the search down to the offending addon using the basic logging level, disable all other addons and increase the logging level if further investigation is required. As of [[Patch 5.2.0]], you can also use the command "<tt>/console taintLog 11</tt>" on the public test realms (PTR). ''This option is not, and will not, be available on the production servers''. Be prepared to drink from the fire hose when this option is enabled... it will log '''every''' taint event that occurs and can easily produce taint logs hundreds of megs long even before the world view is displayed. However, this logging level makes it possible for the addon author to investigate each and every taint event that occurs when trying to isolate obscure taint problems in their addons. It is highly recommended that a good regex tool be installed to search the output as the log will often be overwhelmingly large. == See also == * [[UI Beginners Guide]] has plenty of reference links * [[The TOC Format]] * [[Bindings.xml]] for creating key bindings * [[UI FAQ/AddOns]] * [[UI FAQ/AddOn Author Resources]] * [[Troubleshooting a mod]] == Video Guides == <Youtube>Bfskba8B07g</Youtube> [[File:Addons, beginner's guide - love2playwow.com|425]] [[File:Raiding addons guide - love2playwow.com|425]] ==References== {{Reflist}} == See also == * {{mists-inline}} [[AddOn/Mists_of_Pandaria|AddOn status list]] == External links == {{elink|type=wowus|link=http://www.worldofwarcraft.com/policy/ui.html|desc=UI Add-On Development Policy}} {{elink|type=wowus|link=http://forums.worldofwarcraft.com/board.html?forumId=11114&sid=1|desc=UI Forum}} {{elink|site=Wowace Forums|link=http://forums.wowace.com|desc=Great Addon Developer Forum}} === Addon Providers === {{elink|type=curse|link=http://www.curse.com/}} {{elink|type=wowi|link=http://www.wowinterface.com/|site=WoWInterface}} {{elink|site=WoWUI|type=incgamers|link=http://wowui.incgamers.com/}} === Updaters === <!-- {{elink|site=nUpdate|link=http://www.nupdate.com/}} When there is an actual download available, they can have their link --> {{elink|site=Curse Client|type=curse|link=http://wow.curse.com/client/|desc= Windows & Macintosh versions}} {{elink|site=WoWInterface UI Manager|type=wowi|link=http://www.wowinterface.com/downloads/info8239-WoWInterfaceUIManager-Windows.html|desc=Windows version}} {{elink|site=WoWInterface UI Manager|type=wowi|link=http://www.wowinterface.com/downloads/info8242-WoWInterfaceUIManager-GenericLinuxMacintosh.html|desc=Generic (Linux/Mac) version}} {{elink|site=MMOUI Minion|type=wowi|link=http://minion.mmoui.com|desc=Generic (Linux/Mac/Windows) version - you may refer to this place as WoWInterface, and this is their "v2" of UI Manager}} === General info === {{elink|type=wowinsider|link=http://wow.joystiq.com/2012/03/15/addon-and-ui-tips-for-new-wow-players/|desc=Addon and UI tips for new WoW players|bydate=by {{wowinsider|Mathew McCurley}} Mar 15th 2012 at 2:00PM}} === News === ;{{mists-inline}} {{beta|Mists|β}} News {{elink|type=wowinsider|link=http://wow.joystiq.com/2012/06/27/ui-addons-will-be-enabled-in-the-next-mists-beta-patch/|desc=UI addons will be enabled in the next Mists beta patch|bydate=(after [[Public_client_builds#Mists_of_Pandaria|build 15781]]) by {{wowinsider|Olivia Grace}} Jun 27th 2012 at 7:00PM}}
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:Apinav
(
edit
)
Template:Beta
(
edit
)
Template:Editlink
(
edit
)
Template:Elink
(
edit
)
Template:Mists-inline
(
edit
)
Template:Reflist
(
edit
)
Template:Tocright
(
edit
)
Template:Uiaddon
(
edit
)
Template:WoW/beta
(
edit
)
Template:Wowinsider
(
edit
)
Template:Wowinsider link blog
(
edit
)