How to Upload Custom Scripts and Music to Thunderstore

Updated 6 months ago

I saw a couple of forks of the mod for people's custom music, which is something I never expected to happen with this mod and I think it's really cool, but the mod didn't have an easy way to share music and scripts at the time so people ended up reuploading the mod's DLL file along with their changes. (The mod could break if a person has both the default and a fork of the mod installed since they use the same DLL file) So I thought I should include in the Wiki how to correctly upload custom music and scripts to Thunderstore now that the mod fully supports it.

If you don't have any experience with uploading to Thunderstore I suggest you look at the package format documentation first.

Here's an example file structure of what you should upload to Thunderstore:

├── YourModFolder
│   ├── BepInEx
│   │   ├── plugins
│   │   │   ├── BGN-PizzaTowerEscapeMusic
│   │   │   │   ├── Music
│   │   │   │   │   ├── SomeMusicFile.ogg
│   │   │   │   │   ├── AnotherMusicFile.ogg
│   │   │   │   ├── Scripts
│   │   │   │   │   ├── Default.json
│   ├── CHANGELOG.md
│   ├── icon.png
│   ├── manifest.json
│   ├── README.md

Inside the BepInEx plugins folder you have a folder named BGN-PizzaTowerEscapeMusic, this is what the mod looks for when loading custom music and scripts. BGN-PizzaTowerEscapeMusic has two folders inside of it, Music and Scripts.

Example Mod

You can download an example mod here.

Manifest

The manifest.json file must contain the dependency string for the base mod. The dependency string can be found on the mod's details page.
The name and version number of your mod should be specific to your mod, changing the version number when you update your mod or update the dependencies for your mod. You should not use the same version number as the mod as a starting version number, systematic versioning starts at 1.0.0 for release versions.

"Scripts" Config Option Requirement

The script name must be included in the "Scripts" option in user's config file for the mod for the script to be loaded, the option is set to "Default" by default, so that's what we'll call our script too (the mod prioritises other mod's scripts over its own, so it will load our "Default" script instead of the mod's default one)

Old Custom Folder

If you previously used the BGN-PizzaTowerEscapeMusic_Custom folder to store and load the music and scripts you want to share, you can just copy the Music and Scripts folders from there into your mod's BGN-PizzaTowerEscapeMusic folder.

Uploading

Once you're done with the previous steps you can send your mod's files to a zip file and upload it to Thunderstore.