Packaging Your Mods

Different ways to package mods for different games

When a mod is installed with Thunderstore Mod Manager, the files might not be copied as-is into the profile folder. For example files placed in subfolders might end up getting copied to the root folder. How exactly the files are copied depends on the mod loader used by the game.

BepInEx Games

Folders

The Thunderstore Mod Manager will empty the contents of folders in your package's .zip file unless they are inside specifically named folders. The name of the folder decides where the file will be extracted to. Here are the common folder routes in most games that use BepInEx for modding:

  • BepInEx/plugins

  • BepInEx/core

  • BepInEx/patchers

  • BepInEx/monomod

  • BepInEx/config

For a full list, look at the routes in the installRules for the game you're modding.

An example of a Thunderstore package having its folder emptied into the root of the package folder
An example of the Thunderstore package having its folder preserved

MelonLoader Games

Folders in a package's zip

  • Place the required files (manifest.json, icon.png, and README.md) at the root of the zip

  • Place regular mod dlls either at the root of the zip or in a Mods subfolder

  • Place MelonLoader plugins in a Plugins subfolder

  • Place external libraries in a UserLibs subfolder

  • Place data files in a UserData subfolder

Folders when installed to a profile

  • Thunderstore Mod Manager will install files and folders in a package's UserData folder as-is to UserData/TeamName-PackageName

  • All other files and folders will be installed as-is to Mods/TeamName-PackageName

    • MelonLoader will load the mods, plugins, and libraries from there as long as they're placed in proper subfolders as described above

Other Games

Tips

If you still have problems getting the files into right places, you can download another package for the same game from https://thunderstore.io/ and see how it's structured.

Last updated

Was this helpful?