Take me to...
Introduction to TOC
TOC (Table of Contents) files contain information about your addon (such as the addon name and description.) In addition the TOC file contains instructions on how the addon should be loaded by the Blizzard client.
Multi-TOC is a new feature which was implemented by Blizzard following the release of The Burning Crusade game version. The feature allows a single addon to have multiple TOC files. This means that you can have a single project that supports different game versions, often referred to as ‘instances’ or ‘flavors’. By having a single project suited for different flavors, your project becomes more accessible for users and saves you time in setting up multiple project pages, uploading files or editing multiple change logs.
Multi-TOC requires certain prerequisites to be correctly loaded in-game, as well as additional steps so that the CurseForge App correctly loads the relevant file when launching each of the game versions.
The following community-created articles can be used as a reference for creating TOC files:
- https://wowpedia.fandom.com/wiki/TOC_format
- https://github.com/Stanzilla/WoWUIBugs/issues/68#issuecomment-889431675
Please note that these articles are not part of CurseForge or Blizzard. As such CurseForge and Blizzard are not responsible for any content shown on these websites or providing further support regarding the information provided in these community created articles.
Creating your TOC files
Every TOC file needs to start with the addon name used in the parent folder (For example addon_name.toc in the addon_name folder). If you don’t use the same name - the CurseForge validator may fail the upload or the addon will not be recognized by the Blizzard client.
Additionally, each TOC file needs to contain an interface number which indicates which World of Warcraft flavor the file is referring to. With each new World of Warcraft version the interface needs to be updated according to the new number.
Interface version numbers for each flavor can be found in the community articles mentioned above.
Example from the Questie addon:
In the example above, a single project supports two flavors - Burning Crusade and Classic.
In the screenshots above you can can see the interface # specified for each file, both made available in the Folder Name. The .toc file names and the Parent folder name are both ‘Questie’, ensuring that the CurseForge App correctly associates each file with the relevant flavour in-app.
Note - It is under the responsibility of the addon authors to make sure this is up to date and that the project is flagged correctly on CurseForge. You can Contact an Author or report and issue for them in case they have not set up the file correctly.
How to Tag Flavors in your CurseForge Addon File Page
When uploading the file you can tag which versions are supported:
In this example the addon does not support World of Warcraft Retail but it does support version 2.5.2 of World of Warcraft Burning Crusade and version 1.14.1 or World of Warcraft Classic.
The project will also show this in the website under the Project details
Note - You can always edit your file tags if needed.