- EchoTheDeveloper
- Spiral
Credits to Watt Designs for making Isle Goblin Watt Designs Youtube Channel | Kilowatt games discord server | Watt Designs patreon
Credits to HippoLippo for making the original Unity Mod Maker HippoLippo's Mod Maker
Credits to Spiral for updating/working on the modding page of the wiki (@spirallikespc on Discord)
Licence is the Apache 2.0 licence found in the licence file, or at Apache v2 licence
I would recommend following the guide on the wiki: Using Mod Summary
If you need help just join the (Unofficial) Isle Goblin Modding discord server and ask in any of the help channels! Isle Goblin Modding Discord Sever
This is a fork of the Unity Mod Maker by HippoLippo being continued by EchoTheDeveloper and Spiral.
- Goblin Mod Maker Documentation
- Mod Name: This is where you enter the name of your mod. Can be changed later.
- Description: This is a description of your mod for the manifest.json file. Can be changed in manifest.json after building.
- Developers: If entering multiple, seperate with a comma. Can be changed later.
- Mod Name: The name of the mod(without spaces) you want to open. If you forgot or it isn't working go to
[gmm folder] > projects. Find the mod you want, copy its name, and paste that into the input field
- On Opening
- A warning pops up letting you know to not open mods from untrusted sources
- A file dialog pops up prompting you to find the location of the mod
- After selecting the
.gmmfile, the mod will open up in the editor
- Note: If you have any
.ugmmor.igmmthat you want to use in GMM try renaming it from that to.gmm
- When building a mod what ever .cs files are located in the files folder in your project will be built into the .dll
- You can use a .dll decompiler such as dnSpy to view your mod
- Default Game Folder: Set to Isle Goblin Playtest because of the current beta version of the game.
- Default Steam Directory: Can be found automatically (RECOMMENDED), the common folder where steam games are held.
- Select Themes: A dropdown box to select themes. automatically scans themes. See the Making Your Own theme section below. Will reapply theme on startup
- Show Line Numbers: If checked line numbers will be shown in the text editor.
- Selected Font: Choose from 3 pre-loaded fonts or add your own fonts by dragging
.ttffiles into{gmm folder}>resources>fonts
- Path:
File > New Mod - Use: Same thing as New Mod
- Path:
File > Open Mod - Use: Same thing as Open Mod
- Path:
File > Save Mod - Use: Saves the mod as a
.gmmfile that gets stored in{gmm} > projects > {mod name}
- Path:
File > Save C# File - File Name: This is the name that the file will be created as. Stored in
{gmm} > projects > {mod name}>files - If an extention (e.x.
.cs,.txt) is not provided then the default.cswill be added to the end (this is so the file compiles when building)
- Path:
File > Save C# File - Use: Saves the .cs file thats is currently being edited
{gmm} > projects > {mod name} > files
- Path:
Edit > Change Mod Name - New Name: The name that your mod will be renamed to.
- ex: The Ultimate Goblin Mod
- Path:
Edit > Change Mod Version - New Version: The version number your mod will be changed to.
- Semantic versioning recommended (major.minor.patch). Example:
1.3.0where:- Major: 1
- Minor: 3
- Patch: 0
- ex: 1.0.1
- Semantic versioning recommended (major.minor.patch). Example:
- Path:
Edit > Change Mod Developer - Developer Names: Enter the name(s) of the developer(s) working on the mod. Separate names with commas.
- ex: Watt, Matt
- Path:
Create > Create Harmony Patch - Function Name: This is the name of the method that you want to patch in the target class.
- ex: Attack
- 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.
- ex: AttackManager
- 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.
- ex: Prefix
- 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.- ex: True
these examples are just examples they are not connected to the game
- Path:
Create > Create Config Item - 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
these examples are just examples they are not connected to the game
- Path:
Create > Create Keybind - Variable Name: This is the name of the keybind variable that will be used in the code.
- ex: "dashKey"
- Default 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.- ex: LeftShift
- 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
these examples are just examples they are not connected to the game
- Path:
Build > Build and Install - Description: This option builds your mod in
[gmm folder] > projects > [mod name]and then copies it into a folder named after your mod inIsle Goblin Playtest > BepInEx > plugins.- The folder will also include a
manifest.json,CHANGELOG.md, andREADME.md. - It is recommended to adjust these files to match your mod.
- The folder will also include a
- Path:
Build > Generate Dotnet Files - This option generates and exports all dotnet files for your mod, including the C# code, a
.csprojfile, a manifest, and other a few other resources. - These files are located at
[gmm folder] > projects > [mod name]. The structure includes:[mod name].cs[mod name].csprojmanifest.jsonREADME.mdCHANGELOG.mdLibrariesfolder (containing required game and BepInEx libraries)
- Path:
Tools > Search - Description: Allows you to search for text in the code.
- Path:
Tools > Go To Line - Description: Enter a line number and it will take you directly to that line in the code.
- Note: To view line numbers, ensure they are enabled in the settings.
| Shortcut | What it does |
|---|---|
| Ctrl + N | New file |
| Ctrl + Shift + N | New mod |
| Ctrl + O | Open mod |
| Ctrl + Shift + S | Saves mod |
| Ctrl + S | Save current file |
| Ctrl + Q | Close editor |
| Ctrl + Shift + T | Opens up last tab |
| Shortcut | What it does |
|---|---|
| Ctrl + Z | Undo |
| Ctrl + Y | Redo |
| Ctrl + X | Cut |
| Ctrl + C | Copy |
| Ctrl + V | Paste |
| Shortcut | What it does |
|---|---|
| Ctrl + F | Opens search |
| Ctrl + G | Opens go to line |
| Ctrl + +/= | Increases font size |
| Ctrl + -/_ | Decreases font size |
| Shortcut | What it does |
|---|---|
| Ctrl + Shift + D | Opens documentation |
| Ctrl + B | Builds and installs mod |
There are 3 pre-packaged fonts you can choose to use in the code editor.
GMM comes pre-packaged with 7 unique themes to choose from. You can always create your own theme.
- Themes are loaded via
{gmm} > resources > themes - It loads them by searching for
.jsonfiles - You can change the new and open button images and change the click and hover SFX
- Locate the themes folder
{gmm} > resources > themes - Duplicate the Isle Goblin.json file
- Rename this file to the name of your theme (put spaces between words)
- Open the
assetsfolder and duplictate theisle-goblinfolder - Rename the folder to your mod name (instead of spaces use hyphens/minus sign and keep it lowercase)
- New and Open Buttom Images: In your themes assets folder, change the
newbutton.pngandopenbutton.pngto their corresponding custom image. - Click and Hover SFX: In your themes assets folder, change the
click.wavandhover.wavto their corresponding SFX.
- In the
{gmm} > resources > themesfolder locate{theme name}.jsonand open it.
- From line 2-6 exluding line 4 you have the paths to your custom assets
- The lines will look should look like this
resources/themes/assets/isle-goblin/{filename} - You want to change these lines to
resources/themes/assets/{theme name}/{filename} - Obviously keep the newbutton.png etc at the end of the paths i just have
{filename}to act as a placeholder. - Change
{theme name}to the name that we set back in getting started when duplicating the isle-goblin folder
- Lines 8-26 deal with the actual theming of the app.
- Seen in the image above you can see what value goes with what
- The theme used in the image is Isle Goblin
- Feel free to tweak your theme to your liking
- When you are done please post your theme in the Discord
- NOTE: MAKE
openbuttonbackground,newbuttonbackground, andbuttonconfig, backgroundEQUAL TO THE BACKGROUND COLOR
If you encounter errors with the mod maker itself, you can:
- Join the Isle Goblin Modding Discord Server.
- Check out the Isle Goblin Wiki Modding Section for a detailed error-handling guide.
- Go to the BepInEx ConfigManager page.
- Click Manual Download.
- Extract the downloaded zip file.
- Once extraction is complete, you can delete the zip file.
- Open the extracted folder.
- Inside, navigate to
BepInEx > plugins > ConfigurationManager. - Open your Isle Goblin Playtest folder.
- Navigate to
BepInEx > plugins. - Drag and drop the
ConfigurationManager.dllfrom the extracted folder into yourIsle Goblin Playtest > BepInEx > pluginsfolder. - Start Isle Goblin, and the mod menu should appear.























