The KIF Mod Manager is a built-in mod management system for Kuray's Infinite Fusion (KIF). Browse, install, update, and manage mods entirely from within the game — no manual file copying needed.
All community mods are hosted on the KIF-Mods/mods GitHub repository.
The Mod Manager is accessible from the title screen. From there you can:
U to update)The Mod Browser has three tabs:
| Tab | Description |
|---|---|
| Mods | Browse all mods on the KIF-Mods repository. See names, descriptions, tags, versions, and install status. Install or update with Z. |
| Modpacks | Browse curated collections of mods. Install an entire modpack at once — all included mods are downloaded together. |
| Share Code | Import or export share codes to quickly share your mod setup with others. |
Controls:
| Key | Action |
|---|---|
Z / Click | Install / Update selected mod or modpack |
X / Esc | Back |
S | Search |
T | Filter by tag |
Tab | Switch tab |
1 2 3 | Jump to Mods / Modpacks / Share Code tab |
Auto-Dependencies: When installing a mod that requires other mods, the Mod Manager detects missing dependencies and offers to download them automatically. When enabling a mod, disabled dependencies are auto-enabled with your confirmation.
Progress Overlay: Multi-mod downloads (modpacks, dependency chains) show a full progress overlay with mod name, file count, and a cancel option. Cancelling mid-download lets you keep what was already downloaded or undo everything.
Modpacks are curated sets of mods bundled together. They appear in the Modpacks tab of the Mod Browser.
Share codes let you share your exact mod setup with other players.
Exporting:
KIF-...) is generated from all your enabled mods and copied to your clipboardImporting:
KIF- code is found, it shows the decoded mod list with install statusMany mods expose configurable settings (toggles, sliders, selections). Access them from the Installed Mods screen by selecting a mod and choosing Settings.
Settings are stored per-mod and accessible at runtime via $mod_manager_settings["mod_id"].
1.0.0)ModDev/<mod_id>/:
mod.json — the mod manifestmain.rb — your entry point with a templatemain.rbMods/ and launching the gameModDev/<pack_id>/modpack.jsonNote: Uploading modpacks requires verified team membership with write access to the KIF-Mods repository.
All upload/delete operations are available in Modder Tools with submenu navigation:
| Action | Mod | Modpack |
|---|---|---|
| Create | Guided wizard → ModDev/<id>/mod.json + main.rb | Guided wizard → ModDev/<id>/modpack.json |
| Update | Edit name, description, version, tags, deps, incompatibilities | Edit name, description, version, tags, mod list |
| Upload | Runs publish_mod.bat / .sh — write access or fork+PR | Runs publish_modpack.bat / .sh — write access required |
| Delete (local) | Removes folder from ModDev/ | Removes folder from ModDev/ |
| Delete from Repo | Runs delete_mod.bat / .sh — author verification + write access | Runs delete_modpack.bat / .sh — author verification + write access required |
The upload scripts handle Git setup, GitHub authentication (via gh CLI or personal access token), cloning the repo, and pushing changes.
{
"name": "My Mod",
"id": "my_mod",
"version": "1.0.0",
"author": "YourGitHubUsername",
"description": "A short description of what this mod does.",
"tags": ["Gameplay", "QoL"],
"dependencies": [
{ "id": "other_mod", "min_version": "1.0.0" }
],
"incompatible": ["conflicting_mod"],
"settings": [
{
"key": "difficulty",
"label": "Difficulty",
"type": "int",
"default": 5,
"min": 1,
"max": 10
}
],
"scripts": ["main.rb"],
"icon": "icon.png"
}
| Field | Required | Description |
|---|---|---|
name | Yes | Display name |
id | Yes | Unique identifier (lowercase, underscores) |
version | Yes | Semantic version (X.Y.Z) |
author | Yes | Your GitHub username |
description | No | Short description shown in the browser |
tags | No | Array of tags for filtering |
dependencies | No | Array of { "id", "min_version" } objects |
incompatible | No | Array of mod IDs this mod conflicts with |
settings | No | Array of setting definitions (see below) |
scripts | Yes | Array of .rb files to load (in order) |
icon | No | Filename of the icon image (shown in browser) |
{
"name": "Competitive Pack",
"id": "competitive_pack",
"version": "1.0.0",
"author": "YourGitHubUsername",
"description": "A curated set of mods for competitive play.",
"tags": ["Gameplay", "Balance"],
"mods": [
{ "id": "auto_ev_trainer", "version": "1.2.0" },
{ "id": "damage_calc_overlay" }
]
}
| Field | Required | Description |
|---|---|---|
name | Yes | Display name |
id | Yes | Unique identifier |
version | Yes | Semantic version |
author | Yes | Your GitHub username |
description | No | Short description |
tags | No | Array of tags |
mods | Yes | Array of { "id", "version" } — version is an optional minimum |
Mods can define settings in mod.json that players can configure from the UI:
"settings": [
{
"key": "enabled",
"label": "Enable Feature",
"type": "bool",
"default": true
},
{
"key": "speed",
"label": "Speed Multiplier",
"type": "float",
"default": 1.5,
"min": 0.5,
"max": 5.0
},
{
"key": "mode",
"label": "Game Mode",
"type": "string",
"default": "normal",
"options": ["easy", "normal", "hard"]
}
]
| Type | Fields | Description |
|---|---|---|
bool | key, label, default | Toggle (true/false) |
int | key, label, default, min, max | Integer slider |
float | key, label, default, min, max | Decimal slider |
string | key, label, default, options | Selection from a list |
Access at runtime: $mod_manager_settings["my_mod"]["speed"]
Available tags for mods and modpacks:
Gameplay · Visual · Audio · QoL · Content · Fusion · Balance · Debug · Multiplayer
KIF-Mods/mods/
├── my_mod/
│ ├── mod.json
│ ├── main.rb
│ └── icon.png
├── another_mod/
│ ├── mod.json
│ └── main.rb
└── modpacks/
└── competitive_pack/
└── modpack.json
Game Root/
├── Mods/ # Installed mods (downloaded by Mod Manager)
│ ├── my_mod/
│ │ ├── mod.json
│ │ └── main.rb
│ └── .mod_browser_enabled # Marker file enabling the Mod Browser
├── ModDev/ # Development folder (your mods in progress)
│ ├── my_mod/
│ │ ├── mod.json
│ │ └── main.rb
│ ├── publish_mod.bat # Upload script (Windows)
│ ├── publish_mod.sh # Upload script (Mac/Linux)
│ ├── publish_modpack.bat
│ ├── publish_modpack.sh
│ ├── delete_mod.bat
│ ├── delete_mod.sh
│ ├── delete_modpack.bat
│ └── delete_modpack.sh
└── Data/Scripts/998_ModManager/
├── 001_ModData.rb # Core data layer
├── 001b_MMVersion.rb # Mod Manager version
├── 002_ModLoader.rb # Boot-time mod loader
├── 003_ModManagerUI.rb # Installed mods UI
├── 004_ModBrowser.rb # Browser, GitHub API, tabs, progress overlay
├── 005_ModSettings.rb # Settings UI
├── 006_ModderTools.rb # Modder tools (create/update/upload/delete)
└── 007_TitleHook.rb # Title screen integration
Part of Kuray's Infinite Fusion — made by the community, for the community.
Ruby
51.3%
Python
31.5%
C
16.1%
The KIF Mod Manager is a built-in mod management system for Kuray's Infinite Fusion (KIF). Browse, install, update, and manage mods entirely from within the game — no manual file copying needed.
All community mods are hosted on the KIF-Mods/mods GitHub repository.
The Mod Manager is accessible from the title screen. From there you can:
U to update)The Mod Browser has three tabs:
| Tab | Description |
|---|---|
| Mods | Browse all mods on the KIF-Mods repository. See names, descriptions, tags, versions, and install status. Install or update with Z. |
| Modpacks | Browse curated collections of mods. Install an entire modpack at once — all included mods are downloaded together. |
| Share Code | Import or export share codes to quickly share your mod setup with others. |
Controls:
| Key | Action |
|---|---|
Z / Click | Install / Update selected mod or modpack |
X / Esc | Back |
S | Search |
T | Filter by tag |
Tab | Switch tab |
1 2 3 | Jump to Mods / Modpacks / Share Code tab |
Auto-Dependencies: When installing a mod that requires other mods, the Mod Manager detects missing dependencies and offers to download them automatically. When enabling a mod, disabled dependencies are auto-enabled with your confirmation.
Progress Overlay: Multi-mod downloads (modpacks, dependency chains) show a full progress overlay with mod name, file count, and a cancel option. Cancelling mid-download lets you keep what was already downloaded or undo everything.
Modpacks are curated sets of mods bundled together. They appear in the Modpacks tab of the Mod Browser.
Share codes let you share your exact mod setup with other players.
Exporting:
KIF-...) is generated from all your enabled mods and copied to your clipboardImporting:
KIF- code is found, it shows the decoded mod list with install statusMany mods expose configurable settings (toggles, sliders, selections). Access them from the Installed Mods screen by selecting a mod and choosing Settings.
Settings are stored per-mod and accessible at runtime via $mod_manager_settings["mod_id"].
1.0.0)ModDev/<mod_id>/:
mod.json — the mod manifestmain.rb — your entry point with a templatemain.rbMods/ and launching the gameModDev/<pack_id>/modpack.jsonNote: Uploading modpacks requires verified team membership with write access to the KIF-Mods repository.
All upload/delete operations are available in Modder Tools with submenu navigation:
| Action | Mod | Modpack |
|---|---|---|
| Create | Guided wizard → ModDev/<id>/mod.json + main.rb | Guided wizard → ModDev/<id>/modpack.json |
| Update | Edit name, description, version, tags, deps, incompatibilities | Edit name, description, version, tags, mod list |
| Upload | Runs publish_mod.bat / .sh — write access or fork+PR | Runs publish_modpack.bat / .sh — write access required |
| Delete (local) | Removes folder from ModDev/ | Removes folder from ModDev/ |
| Delete from Repo | Runs delete_mod.bat / .sh — author verification + write access | Runs delete_modpack.bat / .sh — author verification + write access required |
The upload scripts handle Git setup, GitHub authentication (via gh CLI or personal access token), cloning the repo, and pushing changes.
{
"name": "My Mod",
"id": "my_mod",
"version": "1.0.0",
"author": "YourGitHubUsername",
"description": "A short description of what this mod does.",
"tags": ["Gameplay", "QoL"],
"dependencies": [
{ "id": "other_mod", "min_version": "1.0.0" }
],
"incompatible": ["conflicting_mod"],
"settings": [
{
"key": "difficulty",
"label": "Difficulty",
"type": "int",
"default": 5,
"min": 1,
"max": 10
}
],
"scripts": ["main.rb"],
"icon": "icon.png"
}
| Field | Required | Description |
|---|---|---|
name | Yes | Display name |
id | Yes | Unique identifier (lowercase, underscores) |
version | Yes | Semantic version (X.Y.Z) |
author | Yes | Your GitHub username |
description | No | Short description shown in the browser |
tags | No | Array of tags for filtering |
dependencies | No | Array of { "id", "min_version" } objects |
incompatible | No | Array of mod IDs this mod conflicts with |
settings | No | Array of setting definitions (see below) |
scripts | Yes | Array of .rb files to load (in order) |
icon | No | Filename of the icon image (shown in browser) |
{
"name": "Competitive Pack",
"id": "competitive_pack",
"version": "1.0.0",
"author": "YourGitHubUsername",
"description": "A curated set of mods for competitive play.",
"tags": ["Gameplay", "Balance"],
"mods": [
{ "id": "auto_ev_trainer", "version": "1.2.0" },
{ "id": "damage_calc_overlay" }
]
}
| Field | Required | Description |
|---|---|---|
name | Yes | Display name |
id | Yes | Unique identifier |
version | Yes | Semantic version |
author | Yes | Your GitHub username |
description | No | Short description |
tags | No | Array of tags |
mods | Yes | Array of { "id", "version" } — version is an optional minimum |
Mods can define settings in mod.json that players can configure from the UI:
"settings": [
{
"key": "enabled",
"label": "Enable Feature",
"type": "bool",
"default": true
},
{
"key": "speed",
"label": "Speed Multiplier",
"type": "float",
"default": 1.5,
"min": 0.5,
"max": 5.0
},
{
"key": "mode",
"label": "Game Mode",
"type": "string",
"default": "normal",
"options": ["easy", "normal", "hard"]
}
]
| Type | Fields | Description |
|---|---|---|
bool | key, label, default | Toggle (true/false) |
int | key, label, default, min, max | Integer slider |
float | key, label, default, min, max | Decimal slider |
string | key, label, default, options | Selection from a list |
Access at runtime: $mod_manager_settings["my_mod"]["speed"]
Available tags for mods and modpacks:
Gameplay · Visual · Audio · QoL · Content · Fusion · Balance · Debug · Multiplayer
KIF-Mods/mods/
├── my_mod/
│ ├── mod.json
│ ├── main.rb
│ └── icon.png
├── another_mod/
│ ├── mod.json
│ └── main.rb
└── modpacks/
└── competitive_pack/
└── modpack.json
Game Root/
├── Mods/ # Installed mods (downloaded by Mod Manager)
│ ├── my_mod/
│ │ ├── mod.json
│ │ └── main.rb
│ └── .mod_browser_enabled # Marker file enabling the Mod Browser
├── ModDev/ # Development folder (your mods in progress)
│ ├── my_mod/
│ │ ├── mod.json
│ │ └── main.rb
│ ├── publish_mod.bat # Upload script (Windows)
│ ├── publish_mod.sh # Upload script (Mac/Linux)
│ ├── publish_modpack.bat
│ ├── publish_modpack.sh
│ ├── delete_mod.bat
│ ├── delete_mod.sh
│ ├── delete_modpack.bat
│ └── delete_modpack.sh
└── Data/Scripts/998_ModManager/
├── 001_ModData.rb # Core data layer
├── 001b_MMVersion.rb # Mod Manager version
├── 002_ModLoader.rb # Boot-time mod loader
├── 003_ModManagerUI.rb # Installed mods UI
├── 004_ModBrowser.rb # Browser, GitHub API, tabs, progress overlay
├── 005_ModSettings.rb # Settings UI
├── 006_ModderTools.rb # Modder tools (create/update/upload/delete)
└── 007_TitleHook.rb # Title screen integration
Part of Kuray's Infinite Fusion — made by the community, for the community.
Ruby
51.3%
Python
31.5%
C
16.1%