ESO Addon Creator
Describe the addon you want in plain English — it's generated for you, a validator checks the Lua is real and safe, and you get a finished addon to drop into your game — no coding.
Browse the addon library → — every addon players create is saved there.
Try one:
What an addon is allowed to do — and what it simply cannot
These are two different claims and this page keeps them apart, because a reader who is told "that is not allowed" behaves differently from one told "that is not possible".
Forbidden — and we cannot show you the rule. ZeniMax's Add-On Terms of Use is the document that would settle what an addon is permitted to do. On 2026-08-22 we fetched it and every locale of it, and what the page returns is not a rule:
“This page is under translation.”
The same is true of the Terms of Service at its own footer link, and the support knowledge base answers a plain HTTP client with a JavaScript shell and no article text. So: as of 2026-08-22 there is no publisher rule text we can quote to you. We say that rather than paraphrasing one, because a paraphrase of a rule nobody can read is how a forbidden thing gets licensed.
What does exist is ESOUI moderator guidance — the addon community's own operative rules, written by the people who run the addon site, and binding in practice because they decide what is hosted. They are quoted here as exactly that, not as a ZeniMax rule:
“Move, jump, crouch, swim, block, or call any other movement or fighting related controls/actions of the player -> in any way (mouse, keybind, gamepad, whatever, ...)”
“Cast skills in any way / Press keybinds that got to do with movement, combat etc.”
“Automatically start interactions that you usually need to do via a keybind (companion, banks, scrying, scribing, ...). You must start the interaction manually first to let the server properly init the methods and API functions needed.”
“Send messages to chat (which others can see) directly. They are only allowed to add text to the chat message box and you manually need to press the return key to send.”
“Include any external files in the addons that are not lua, xml or dds (texture files).”
Impossible — and this one we measured. The live API documentation dump (apidoc_101050.txt, counted 2026-08-22) marks 173 functions *private* and 40 *protected*; the remaining 5,423 function signatures carry no tier marker. Addon Lua cannot call the marked ones — this is a property of the engine, not of a policy someone might not enforce.
The *private* tier is where movement, combat, mount, weapon-swap, synergy and chat-send live: MoveForwardStart, MoveBackwardStart, ToggleWalk, StrafeLeftStart, JumpAscendStart, ToggleAutoRun. That is why "make an addon that plays for me" is not a policy question here — the surface it would need is closed. The *protected* tier is the inventory and action-bar manipulation surface: UseItem, RequestMoveItem, PickupInventoryItem, PickupEquippedItem, PlaceInInventory, PlaceInEquipSlot.
“* PerformAttack *private* ()”
One caution, stated because it cuts against us: “* FastTravelToNode(*luaindex* _nodeIndex_)” — our own measurement of the live API dump, read 2026-08-22 — the dump does not mark FastTravelToNode at any tier, so we do not claim that automatic travel is either possible or impossible. We say what we measured.
Full walkthrough with every quote and its source: what ESO addons are and are not allowed to do.
How it works
This is grounded on a study of the entire ESO addon ecosystem — thousands of real, shipping addons — so it mirrors how working addons are actually built (event handling, settings panels, saved variables) instead of inventing patterns. It's the same idea as the rest of this site: real data in, verified output.