-
Notifications
You must be signed in to change notification settings - Fork 0
Mod Development
Spiral edited this page Aug 19, 2026
·
3 revisions
This is a section on the main menu that shows the most recent projects you opened. When a project is clicked, it opens it up in the editor.
Here mods are loaded from GMM/Mods. You can either click on one of the buttons or type in the name of your desired project to load it.
Can be opened a few different ways
- Found in
File > Open Project > Open Existing - Pressing
Ctrl+O - Clicking Open Project on Main Menu
Opens a dialog for you to select a .json file, then it opens that project in the editor
Can be opened by either of the following methods
- Found in
File > Open Project > Open From File - Pressing
Ctrl+Shift+O
Select New Project in the main menu or select File > New Project
All values can be changed later
- Mod Name: Name of your mod. Required
- Description: Description of your mod. Required
-
Developers: The developers of the mod. Separate their names with a comma. At least one name required
Then click
Doneto confirm
- Mods are stored in
[GMM Folder]/Mods
-
.json file: This is the file containing the mod information such as the name, description, authors(developers), the GMM verison, along with the verison of the mod
Example
{ "Name": "Test", "NameNoSpaces": "Test", "Description": "This is the test mod", "Authors": "Spiral", "GMMVersion": "1.0.0 beta", "Version": "1.0.0" } -
Folder Structure: Each mod folder will have a folder called
Filesfor the mod files. When a mod is compiled, some new folders will be added. These folders areLibraries,obj, andbin -
Other Files: Along with the folders, some new files may also be added on compilation. These could include the following:
manifest.json,README.md,MoreItemDetails.csproj, orCHANGELOG.md. - Note: Some of the stated files may only be created if the user prompts
-
Path:
Mod > Create Harmony Patch -
Shortcut:
Ctrl + Alt + H
- Function Name: This is the name of the method that you want to patch in the target class.
- Function Class: This is the class that contains the method you want to patch. You must specify the class name where the target method is defined.
-
Parameters (seperated by comma): These are the parameters of the method being patched, separated by commas. You need to provide the parameter types and names in the format
Type paramName. If you don’t need to modify certain parameters, they can be left out of this list.- ex: float damage, bool critical
- Prefix/Postfix: This determines whether the patch should be applied before(Prefix) or after(Postfix) the original method.
-
Return Type: This specifies the return type of the method you want to patch. If the original method returns a value and you want to override or manipulate the result, you can specify it here. If there is no return value, it can be set to None.
- ex: string
-
Have Instance?: This determines if the patch has access to the instance of the class. If true, the patch will have access to
__instance, which allows it to interact with instance-specific data.
-
Path:
Mod > Create Config Item -
Shortcut:
Ctrl + Alt + C
-
Variable Name: This is the name of the config variable that will be used in the code.
- ex: maxHealth
-
Data Type: This defines the type of data the config item will hold. Common data types include
int,float,bool,string, etc.- ex: int
-
Default Value (C# Formatting): This is the default value for the config item. It must be provided in proper C# format. For instance, strings should be wrapped in quotes, booleans should be true or false, ints as-is, floats with a
fa the end, etc.- ex: 100
-
Definition: This is the display name that appears in the config list (usually in the game’s settings UI). It’s a human-readable name for the setting.
- ex: Max Health
-
Description (Info When Hovered Over): This provides additional information about the config item. It’s typically shown when the user hovers over the setting in the UI, helping them understand what the setting does.
- ex: The maximum health the player can have
-
Path:
Mod > Create Keybind -
Shortcut:
Ctrl + Alt + K
-
Variable Name: This is the name of the keybind variable that will be used in the code.
- ex: "dashKey"
-
Keycode (Click For List): This specifies the default key that the keybind will be mapped to when first initialized. The value should be a valid Unity
KeyCode. For a full list, click on the label, which opens the Unity KeyCode documentation. -
Definition (Name in Settings): This is the display name that appears in the settings menu for the keybind. It’s the name users will see when configuring the keybind in the UI.
- ex: Dash
-
Description (Info When Hovered Over): This provides additional information about the keybind. It’s typically shown when the user hovers over the keybind setting in the UI, explaining what the keybind does.
- ex: Press to dash
To Be Added
In the editor, locate Mod > Configure Mod. Details can be changed at any time.
-
Shortcut:
Ctrl + Alt + M
- Name: Name of your mod. Required
- Description: Description of your mod. Required
- Developers: The developers of the mod. Separate their names with a comma. At least one name required
- Version: The version of the mod. Required
-
Path:
Build > Build And Install -
Shortcut:
Ctrl + B - Function: Will compile your mod, package it into a zip(if you want), and install it in the Isle Goblin plugins folder.
-
Path:
Build > Quick Build -
Shortcut:
Ctrl + Shift + B - Function: Basically build but will skip all popups except the ones you are fine with which you can change in Settings.
-
Path:
Build > Create Mod Files - Function: This will create all the mod files that are created during build. You do not have to press this before building. It wil be called on build; this is simply for previewing.
-
Path:
Build > Revert Csproj file -
Function: This will revert the
[Mod Folder]/[ModName].csprojfile back to the template it started as. I do not recommend doing this randomly, only if your .csproj file is very messed up.