# Packaging Your Mods

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 (the BepInEx folder can be omitted):

* BepInEx/plugins
* BepInEx/core
* BepInEx/patchers
* BepInEx/monomod
* BepInEx/config

For a full list of install rules for each game, check the [ecosystem-schema](https://github.com/thunderstore-io/ecosystem-schema/tree/master/games/data)

<figure><img src="/files/G0rfAwV21D3nqzDzvDE2" alt=""><figcaption><p>An example of a Thunderstore package having its folder emptied into the root of the package folder</p></figcaption></figure>

<figure><img src="/files/LKzdYA9sgRfVojG5ZNQF" alt=""><figcaption><p>An example of the Thunderstore package having its folder preserved</p></figcaption></figure>

## MelonLoader Games

{% hint style="danger" %}
For **Backpack Hero, BONELAB, BONEWORKS, HardBullet, Patch Quest, and RUMBLE** refer to <https://github.com/ebkr/r2modmanPlus/wiki/Structuring-your-Thunderstore-package#melonloader-legacy-support>
{% endhint %}

{% hint style="warning" %}
This guide is intended only for games using MelonLoader v0.7.0 or higher.
{% endhint %}

**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

* Games using [GDWeave](https://github.com/NotNite/GDWeave/blob/main/MODS.md) mod loader
* Games using [ReturnOfModding](https://github.com/xiaoxiao921/ReturnOfModdingBase?tab=readme-ov-file#creating-mods) mod loader
* Games using [Shimloader](https://pwmodding.wiki/docs/mod-publishing/packaging-your-mod#structure) mod loader

## 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.thunderstore.io/mods/packaging-your-mods.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
