Follow this guide for dumping your romFS, it's needed to create mods.
This guide is available on Youtube!
Table of Contents
So, you want to mod the hell out of your game, but don’t know where to start. Whether you’re new or not, this guide comes in to help out. Remember that mods can only be used on modded Switch’s, so if you don’t have one you can read my switch guide for modding your own. You can start modding on a new game or one in progress. I’m going to go over dumping the romFS, or its assets and general files, of Animal Crossing to edit with Switch Toolbox. There are multiple programs you can use to edit the romFS, but you can’t get to that part without the romFS in the first place.
If you’re not making mods, and just need help installing them, go to Loading Mods.
Dumping romFS
To edit the games files, you’re going to need them. NXDumptool allows you to dump the romFS of the game. You could use Yuzu to dump it as well, if you have it set up. Just download the .nro (NOT THE SOURCE CODE) and place it in the “switch” folder on your SD card. You will also need to dump your prod and title keys using Lockpick_RCM. Download the .bin (once again, not the source code) and place it in the bootloader/payloads folder on your SD.
After injecting Hekate, select payloads and then Lockpick. Select “Dump from SysNAND” by pressing the power button. You’ll see some flashy colors and a confirmation that the keys were written to where they needed to be. Press the power button again to return to the menu, then navigate to Reboot (RCM). Reinject the Hekate payload, boot CFW, and launch any game via title takeover (opening the game while holding R). It’s better to launch homebrew apps this way, as it gives them full system resources. When the homebrew launcher opens, navigate to nxdumptool.
Here, the process differs a bit if you own the game physically instead of digitally. Press “Dump gamecard content” if you do own it physically, otherwise press “Dump installed SD card / eMMC content”. Select the game, and then RomFS Options. If it’s available to you, use the left/right buttons to cycle through the available updates for the game, so you can dump those as well. The option won’t show if you don’t have any available updates. Make sure Split files bigger than 4 GiB is also selected. Now you select the RomFS section data dump and wait for the process to finish. How long it takes depends on your SD card speed. And now, your romFS is dumped! You should copy the romFS folder from your SD card to your PC, as the romFS is 6gb+. It also makes it easier to edit whenever it’s needed, instead of only editing when your SD’s on your computer.
Dumping portion of romFs
You might not need the entire romFS, because you’ll only be editing portions of it. Luckily, you can choose which parts of the romFs to dump.
Open NXDumptool, and go to New Horizons. In the romFS options of NH, select browse romFS section. Let’s say you only want to dump the Sound entry. Open the Sound folder, and press Y to dump everything in that directory. If you only want to dump a single file though, go to the file and press A.
Switch Toolbox
Switch Toolbox is what you’ll be using to extract the game’s files to edit them, and reimport to get those changes to show up in the game. Get Switch Toolbox by going to the Github and downloading Toolbox-Latest.zip
.
Despite the date, this build is automatically updated from the latest commit, so you always have the most recent release.
Extract the zip using 7-zip, and open the folder. Inside you’ll see Toolbox.exe
, and that’s what you want to open. Remember when I said to copy the romFS from your Switch to your PC? Hopefully, you did, and remember the location you copied it to. Click File > Open (Folder)
in Toolbox, then select the directory you saved it to. You’ll be greeted with these folders, and the name tells you the contents of them. While most of it’s self-explanatory, this explains what they represent, and what apps are used to edit them.
Folder | Contents | Editing Apps |
---|---|---|
AnimationInfo | BYML Animation Params | event-editor |
AnimationSequence | Proprietary .asb Animation files | |
Bcsv | Binary CSV, mainly Params | BCSV Editor [ACNH] |
BDLI | Probably compiled classes to access the strings in the Message folder. | |
Effect | Particles like leaves falling, snow… | |
ELink2 | (?) | |
Env | Shading/Lighting/Camera Effects(?) | Switch Toolbox |
EventFlow | Interactable Objects (AI states, furniture, NPC’s, etc) | event-editor |
Font | Game Fonts (clearly) | Switch Toolbox |
Layout | Game GUI | Switch Layout Editor |
Message | Game Dialog (MSBT Files) | Kuriimu |
Model | Game Models (player animations are stored here) | Any 3d Model Editor (Recommended: Blender) |
Movie | Opening movie (webm) | |
Pack | BYML File Params | event-editor |
Param | (Mystery) Island presets in BYML | event-editor |
Rumble | Controller Rumble | |
Shader | Makes the game look pretty | |
SLink2 | ||
Sound | Game Sounds (clearly) | Citric Composer |
Stage | BYML Param for stages | |
Swkbd | Software Keyboard Settings | |
System | Render params |
Loading Mods
Now that we’re here, you should create the layeredFs folder. The layeredFs is what actually allows you to load in the edited game files. In atmosphere/contents/, create a new folder which has the title ID of Animal Crossing. The title ID is 01006F8002326000
. Once this folder is created, make another called romFs inside it. Your directory should now look like this: atmosphere/contents/01006F8002326000/romFs/
. In your romFs, create the directory System/Resource/ and create a new resource size table. This can be done by creating an empty text file, and renaming it to ResourceSizeTable.srsizetable
. Under normal circumstances with ACNH, loading a file that’s much larger or smaller than the original causes the game to crash. This resource size table disables the games RAM management, so it will load any mod no matter the size.
Any mods must follow the same naming scheme as in the romFs, or the mod will not load. So if you edit the TalkFtr_USen.sarc.zs, then you need to create a folder called Message and any archives must be in there. This also applies if you aren’t creating mods, and just loading them. While most creators provide the full atmosphere/contents
directory, if they don’t. they’ll say to put the edited file in the directory where it belongs.
It is also important to say that in the case you have multiple of one folder (e.g. Model_0, Model_1, etc) then you do not include the _X
. Bringing this up because I was in this predicament 😔 So it would just be Model, not Model_0.
Creating Mods
What would you like to look at?
Simply click on the header for that section.