Help:Creating mods
Welcome, modders! This page contains useful information for anybody who wants to create mods. If you just want to use other people's mods, see Help:Using mods.
What can currently be modded?
- Textures
- Models (can't increase poly count on Switch)
- Actor parameters, including enemies, weapons and armors
- Adding new actors
- Overworld and dungeon map files (collision editing only possible for Wii U shrines)
- Text / dialogue
- Event flows, and as a direct consequence: cutscenes, NPC interactions, quests and minigames
Getting set up
To make mods, you'll need to start by dumping the unedited game files from your copy of BotW.
Since BotW uses a lot of Nintendo's own file formats, you'll need tools to be able to edit them.
Rules
The RSTB file
The file ResourceSizeTable.product.rsizetable (referred to as the RSTB file) contains a list of size limits for almost every file in the game (calculated from the non-Yaz0-compressed file sizes). If you edit a file to make its filesize bigger, you'll need to edit this file to prevent errors. For details, see Help:Updating the RSTB.
File names and caching
The game assumes that any 2 files with the exact same filename also have the exact same contents. If you don't follow this rule when editing files, the game might load the wrong version of the file, leading to errors. The same rule applies to texture names - all unique textures should have unique names, even if they're located in different files.
File extensions for compressed resources
In most cases, file extensions that start with ".s" are used for Yaz0-compressed files. Ensure that any file with such extensions is compressed. Some tools (for example BotW Unpacker, byml-v2 or sarc) will automatically compress files when needed.
Example: .bactorpack -> .sbactorpack (after compression)
Edit priority
If a file exists in your update dump, edit that copy of it. If it doesn't exist there, edit the one in your DLC dump. If it doesn't exist in either the update files or the DLC files, edit the one from the base game dump.