WoW:Lua file

From AddOn Studio
Jump to navigation Jump to search

WoW AddOn

WoW AddOn Lua files are the code files for a WoW AddOn. This article describes the format for a WoW Lua file as a part of an WoW AddOn.



.lua files contain the Lua code for a particular addon (such as its functions, variables, etc.), as well as instructions that run while addon is being loaded by the client. The file must be present if listed in the TOC file, and may or may not have the same name (plus extension) as its parent folder for the addon to be recognized by the client.


-- Lua file for MyAddOn

function MyAddOn_OnLoad()
  print("MyAddOn is started")


In WoW Lua files have file parameters passed when the Lua file is loaded, which can be accessed via standard Lua ellipses.

  • addonName (string) - the addon name that is the addon's folder name in the 'Interface\AddOns' WoW folder
  • addonTable (table) - a singular pre-created Lua table that is for the addon's private use, starts empty, not referenced in the global table, and is the same table passed to all Lua files loaded during the AddOn's load under the AddOn's folder, or referenced outside the folder during that AddOns load.


For the 'MyAddOn' AddOn in the 'Interface\AddOns\MyAddOn' folder:

MyAddOn TOC file


Lua file 1 for MyAddOn

local addonName, addonTable = ...

addonTable.banana = "apple"

Lua file 2 for MyAddOn

 local addonName, addonTable = ...
 function MyAddOn_OnLoad()
   print("MyAddOn's name is " .. addonName) -- prints 'MyAddOn'
   print("MyAddOn's addon table banana var is " .. addonTable.banana) -- prints 'apple'