Ui SDK

From WoWDev

Screenshot
Enlarge
Screenshot

The World of Warcraft User Interface Customization tool allows users to tweak and customize the User Interface

The interface of World of Warcraft is built from XML files which describe its look and layout, and Lua files, which contain scripting functionality. This document is a short introduction into modifying these files to customize your interface. Customizing the interface is a very technical endeavor, and you should not attempt it unless you have a good working knowledge of XML and Lua.

There is no official support for modifying the WoW interface. If you break it, you get to keep both pieces. :)


Contents

Introduction

To start fresh, install the Interface Data and Art into your World of Warcraft folder; this creates a new directory called "Interface." This directory will override any built-in user interface you have already installed. To remove all customized UI, just remove the Interface directory. Be sure to never remove the Interface directory in the Data\ folder; only remove the top-level Interface directory that was created when first creating your custom interface.

Whenever the game is updated, your customized files will not be modified, which means that you'll need to reinstall the Interface Data and Art and apply your changes to the new files.

If you encounter a bug while using your custom interface, move your custom interface directory out of the way before you report the bug. We ask you to do this so you can see whether the bug still occurs in the unmodified game. If it does, then you can report it.


XML Layout

The files containing the layout for the game user interface can be found in Interface\FrameXML.

The file "FrameXML.toc" contains a list of XML files to load when you enter the game. The files listed are loaded in order. Any errors that occur when loading the files are written to FrameXML.log in the toplevel directory.

Each XML file typically describes one element of UI on the screen. To get a feeling for the syntax, take a look at the files provided. The XML files strictly adhere to the XML 1.0 standard. For those lucky enough to have access to a syntax checker, the file "UI.xsd" contains the schema used by the WoW interface.


Lua Scripting All of the functionality in the interface is provided through LUA scripting.

The best way to become familiar with how Lua is used to script the interface is to look at the scripts in the XML files, denoted by the "script" tag, and to browse the Lua files. The Lua files typically contain functions that are used by the corresponding XML files.


Download

Links