Using Premade Gamemodes (From AssetBundles) - monksilly/Custom-Gamemodes GitHub Wiki

This document explains how to set up a config.json file for gamemodes that are already built into an AssetBundle. You're not creating a new gamemode from scratch here; you're simply telling the game where to find an existing one and providing some display information for it.

The Folder Structure

Just like custom modes, your premade gamemode needs its own folder.

YourChosenFolderName/
├── Assets/
│   ├── custom_gamemode_assets  <-- AssetBundle including your custom gamemode & levels.
│   ├── screen_art.png          <-- Screen art for your custom gamemode, right now can be only one.
│   ├── capsule_art_1.png       <-- Capsule art for your premade gamemode
│   └── capsule_art_2.png       <-- You can have multiple capsule arts!
└── config.json                 <-- This file points to the existing gamemode
  • YourChosenFolderName: You can name this anything.
  • Assets/: This folder must be named Assets. Any image files (.png, .jpg, etc.) you want to associate with this premade gamemode go here. These are display-only and do not affect the actual gamemode's functionality.
  • config.json: This file must be named config.json. It's the pointer to your premade gamemode.

Understanding config.json

The config.json for a premade gamemode is much simpler because the actual gamemode logic and levels are already contained within an AssetBundle. Your file just needs to provide the path and name of that existing mode.

Fields

Field Name Type Required? Description Example Value(s)
assetBundle string Yes The exact filename (if it has an extension, include it) of the asset bundle that contains the premade gamemode. "custom_gamemode_assets" (refers to custom_gamemode_assets)
gamemodeName string Yes The exact Asset name of the premade gamemode as it is defined within the assetBundle. This must match perfectly, or the mod won't find it. This isn't the display name, but the name of the Asset used to find this specific mode within the bundle. "GM_Powerline"
author string No The name of the original author(s) of this premade gamemode (e.g., "MeowMaster0w0"). Optional. "MeowMaster0w0"
category string No A category for this premade gamemode (e.g., "Meow's Customs", "Powerline"). Optional. "Powerline"
capsuleArts list of strings No A list of filenames for images to use as the capsule icon for this premade gamemode. These files must be placed in your Assets/ folder. If you list multiple, the mod will cycle through them. Optional. ["capsule_1.png", "capsule_2.png"] (from YourChosenFolderName/Assets/)
screenArts list of strings No A list of filenames for images to use as the screen art for this premade gamemode. These files must be placed in your Assets/ folder. Similar to capsuleArts, multiple entries might be cycled. Optional. ["screen_art.png"] (from YourChosenFolderName/Assets/)

Currently Screen Arts can be longer than one image, but it will always pick the first one, will be fixed in an update


Minimal Premade Gamemode Example

This is the absolute simplest config.json for pointing to an existing premade gamemode. You only need the assetBundle and the internal gamemodeName.

{
  "assetBundle": "custom_gamemode_assets",
  "gamemodeName": "GM_Meowland"
}

Full Example: Premade Gamemode with Multiple Capsule Arts

This example shows how to reference a premade gamemode and provide custom display images for it within the game's menus.

{
  "assetBundle": "custom_gamemode_assets",
  "gamemodeName": "GM_Meowland",
  "author": "MeowMaster0w0",
  "category": "Meow's Custom's",
  "capsuleArts": [
    "capsule_1.png",
    "capsule_2.png"
  ],
  "screenArts": [
    "screen_art.png"
  ]
}