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?
- Actor parameters, including enemies, weapons, and armors
- Adding new actors
- Overworld and dungeon map files
- Event flows, and as a direct consequence: cutscenes, NPC interactions, quests, minigames, etc.
- Animations and various animation parameter files
- Rigid body collisions
- Text / dialogue
- UI elements (HUD, title screen, logos, etc.)
- Music and audio (cannot add new tracks, only edit/replace existing)
- Effects and shaders (limited)
Getting set up
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)
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.