The BepInEx console will not appear when launching like it does for other games on Thunderstore (you can turn it back on in your BepInEx.cfg file). If your PEAK crashes on startup, add -dx12 to your launch parameters.
How to Create Mixtapes
Updated 3 weeks ago📀 Introducing: Mixtapes
A mixtape is simply a folder containing your collection of audio files.
Just create a new folder inside your main music folder (e.g plugins/onlystar-sPEAKer Music
) and drop your songs in it. The name of the folder will be used as the mixtape's name by default.
Optionally, you can also include a mixtape.json
file inside your mixtape folder:
{
"name": "Undertale Bosses",
"author": "onlystar"
}
This takes priority over default naming, and will be shown in-game when a song from your mixtape starts playing.
Yes, it's "Mixtape Name - Song Name"
NOTE
Even though MP3 and WAV are supported, it is highly recommended that you use OGG format. It's the fastest to load, smallest in size and you lose negligible quality. You can use a tool like Convertio or, if you're up for using scripts, check out the Mass MP3 to OGG article for the script I use for mass conversion.
Bundling a mixtape for Thunderstore 
To upload your mixtape to Thunderstore, you need to create a package.
Create a new folder and create the following items inside:
├─ README.md
├─ manifest.json
├─ icon.png
└─ plugins/
Be mindful of file extensions, as Windows hides them by default.
I'll now explain what each item should contain:
README.md
It's what reads under the "Details" tab in the Thunderstore page. I recommend using this tool to write with proper markdown.
It's also good manners to include your track list in this file, or at least a good description of the contents of your mixtape.
manifest.json
This one is crucial. You can validate it here.
{
"name": "Demo_Mixtape",
"author": "onlystar",
"version_number": "1.0.0",
"website_url": "",
"description": "I'm a short description!",
"dependencies": [
"onlystar-sPEAKer-1.9.4"
]
}
Considerations
- name: can only contain a-z A-Z 0-9 _ characters
- website_url: can be empty, but should be included
- dependencies: remember to add sPEAKer as in the example
- pick a "name" carefully. once you upload it, you should not change it. if you change it, it will be uploaded as a separate mod instead.
icon.png
It should be 256x256. This is what's gonna appear as your mixtape's cover art in-game, as well as your mod icon in Thunderstore.
plugins
It's the folder that contains your music. For sPEAKer to recognize it, just add an empty "sPEAKer.json" file inside it:
plugins/
├── sPEAKer.json
└── my mixtape/
├── a true hero.ogg
├── omega flowey.mp3
├── ...
└── mixtape.json
Note that "sPEAKer.json" and "my mixtape" are in the same level, which is directly inside plugins
.
Once your package is ready, ZIP it and upload it to Thunderstore. You should only select "Mixtapes" in the Categories field.
💡 TIP: Don't delete your original package!
Updating your Thunderstore mixtape
If you wanna add songs to an already published mixtape, add your songs to the original (uncompressed) package and bump the "version_number" up in your manifest.json
. DON'T change the "name" field, as it will create a new mixtape instead of updating the existing.
{
"name": "Demo_Mixtape",
"author": "onlystar",
"version_number": "1.0.1", // previously "1.0.0"
"website_url": "",
"description": "",
"dependencies": [
"onlystar-sPEAKer-1.8.5"
]
}
ZIP it once again, and reupload it. You should only select "Mixtapes" in the Categories field.
Disclaimer: Make sure you have permission to upload the audio files your mixtape contains to Thunderstore.