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:UI beginner's guide
(section)
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!
== AddOns == Blizzard has made the decision that the user interface of World of Warcraft is fully customizable, modifiable and extendable. This is completely legal, and is encouraged by Blizzard. A User Interface Modification (UI Mod for short) and AddOn is exactly the same thing, the difference is merely in their names. Usually "Mods" tend to refer to smaller things that only modify existing functionality of the user interface, whereas AddOns tend to add extra functionality. From here on, we will simply use "AddOn". === The user's point of view === From a user's point of view, what you need to know is that AddOns come in the form of one or more text files, ending in the ".toc", ".xml" and ".lua" extensions. These files are supposed to go into a folder called Interface in your World of Warcraft folder, or into one of its sub-folders. Usually AddOns are distributed as zip files by their authors, and you "install" them by simply unzipping them in your World of Warcraft\Interface folder. ''Warning'': Be very very careful with AddOns that come as executable ".exe" files. Always triple-check before you use these to make sure that they really do what they say they do, as executable files can do anything whatsoever to your computer. AddOns are supposed to be written in text format in .xml and .lua files, so that anyone can check that there is nothing malicious about them. You have no such check available with executable files. Also, since AddOns only operate within WoW, they can't harm your computer, whereas executable files can. Having said that, some authors ''do'' distribute their AddOns as executable files. Most of the time these executables don't do any more than just unzip the AddOn's files and place them in your WoW folder in the appropriate places. Occasionally the executables are used to automatically download updated versions of the AddOn, or to upload data collected by the AddOn (for example item statistics to be put on a web-site, etc.). '''Uninstalling''': You can always uninstall any AddOn and reset the WoW UI to its clean default state by merely deleting or renaming the Interface, WTF, and Cache folders in your WoW folder, then restarting WoW. === The developer's point of view === AddOns mainly consist of two types of files: * [[Lua]] files, which contain the brunt of the logic * [[XML User Interface|XML]] files, which define how your dialogs, buttons, etc look. These elements are commonly referred to as "Widgets". You list these files in a [[The TOC Format|TOC]] (Table Of Contents) file together with some additional parameters. If you have programmed before, you may be used to having your program start, and keep running, until you don't want it to run any more. Not so in WoW. AddOns are ''event driven'', i.e. everything that happens does so in response to an event, e.g. the user clicking one of your buttons, the client receiving a chat message, someone hitting the character, etc. Those events are delivered to widgets, and to grab hold of them, you need to embed little snippets of Lua code in the right places that calls functions in the .lua files. It ''is'' possible to implement a whole addon in just the .xml files, but it gets clunky, and you need to HTML-encode < and > characters and so forth. Good places here on WoWWiki to look for more information: * [[Interface Customization]] * [[World of Warcraft API]] * [[XML User Interface]] * [[AddOns]] - a guide on how to create an addon from scratch * [[:Category:HOWTOs]] * [[XML Basic]] - needs help of pro addon developers to fill up reference External guides: * [http://wow.mmhell.com/articles/interface_modification/beginners_guide.html A Beginner's Guide to Interface Modification at mmhell.com] (Marian 'Fyrn' R, Aug. 2004) - out of date * [http://wow.mmhell.com/articles/interface_modification/writing_your_first_addon.html Your first AddOn at mmhell.com] - out of date === Addon packages === If you look around the forums a bit, you may see names like Titan Panel, [[Cosmos (AddOn)|Cosmos]], and CTMod popping up. These were major AddOn packages that contained a large number of UI AddOns. Their authors often working in teams were respectable members of the WoW community who worked hard to create useful AddOns, and have bundled them together into one easy-to-use package. Feel free to use any and all of these packages. They are legal, Blizzard allows and encourages their use, although you won't get technical support from Blizzard if something is wrong with them. There are many of these around, download and try a few of them and see if you like them. Usually the authors make these packages highly configurable so that you can adjust them to your needs. Note: a lot of these major AddOn packages conflict with each other, so you won't be able to use them together. === Standalone addons === ''Standalone, pure AddOns, what is so good about them?'' You will sometimes see AddOn authors being proud of their AddOn being "standalone", or "pure addon". In the past, often AddOns modified existing UI functionality by changing something in the existing, core UI files provided by Blizzard. This has led to conflicts as different AddOns all tried to modify the same file. A "pure addon" is one that does not modify any existing files, and merely adds its own files. This is a very good thing, because you can have any number of such AddOns happily coexisting side-by-side. For this reason in WoW patch 1.10, Blizzard has completely disabled the ability to change the core UI files themselves. Therefore, all modifications to the UI can now only be done via pure AddOns. (Note that this doesn't mean that existing functionality of the UI can't be modified, it just means that it has to be done via an AddOn without modifying Blizzard's files themselves). Also, a lot of AddOns depend on other AddOns for their operation. For example, most AddOns in the Cosmos package wouldn't work by themselves, and need the whole Cosmos package to be present to work. A "standalone" AddOn is one that is capable of working by itself, with nothing more than just that one AddOn being present. Again, this is a good thing, because it allows you to pick and choose just those exact AddOns that you want, without having anything you don't want. Many addons are aware of the major addon frameworks though and can interact with them if they're present. Having said that, from the point of view of an AddOn's author, you will find that often a lot of AddOns do very similar sort of things. It is much more easy and quick for an AddOn author to create a new AddOn if they can rely on existing functionality in other AddOns or some common core "libraries". That's why there are AddOns out there that depend on things such as the [[Sea (AddOn)]] function library, which in itself is just an AddOn. If you find an AddOn that requires some other core AddOn, don't be afraid of it. Just make sure you also download the core 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)