KIF-Mods/mods

Kuray's Infinite Fusion mods for the Mod Manager

1

stars

79

commits

Ruby

primary language

Aug 26, 2026

updated

README

Mod Manager v1.0.0

KIF Mod Manager

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.


Table of Contents


For Players

Getting Started

The Mod Manager is accessible from the title screen. From there you can:

  • View all installed mods and toggle them on/off
  • Open the Mod Browser to find new mods
  • Access Modder Tools to create your own mods
  • Check for Mod Manager updates (shown as a yellow banner when available — press U to update)

Mod Browser

The Mod Browser has three tabs:

TabDescription
ModsBrowse all mods on the KIF-Mods repository. See names, descriptions, tags, versions, and install status. Install or update with Z.
ModpacksBrowse curated collections of mods. Install an entire modpack at once — all included mods are downloaded together.
Share CodeImport or export share codes to quickly share your mod setup with others.

Controls:

KeyAction
Z / ClickInstall / Update selected mod or modpack
X / EscBack
SSearch
TFilter by tag
TabSwitch tab
1 2 3Jump 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

Modpacks are curated sets of mods bundled together. They appear in the Modpacks tab of the Mod Browser.

  • Each modpack lists the mods it contains with their install status
  • Installing a modpack downloads all included mods at once
  • Mods can have optional minimum version requirements
  • Dependencies of included mods are resolved automatically

Share Codes

Share codes let you share your exact mod setup with other players.

Exporting:

  • From the Installed Mods screen, press the Share Code footer button
  • A compact code (KIF-...) is generated from all your enabled mods and copied to your clipboard
  • Send the code to friends via Discord, chat, etc.

Importing:

  • Go to the Share Code tab in the Mod Browser
  • Select Import — the Mod Manager checks your clipboard automatically
  • If a valid KIF- code is found, it shows the decoded mod list with install status
  • Install missing mods or update older versions directly from there
  • You can also type/paste a code manually

Mod Settings

Many 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"].


For Modders

Creating a Mod

  1. Open the Mod Manager from the title screen
  2. Go to Modder ToolsCreateMod
  3. Follow the wizard:
    • Mod name (auto-generates an ID)
    • Author name
    • Description
    • Version (default 1.0.0)
    • Tags (multi-select)
    • Dependencies (pick from known mods)
    • Incompatibilities
  4. Output is generated in ModDev/<mod_id>/:
    • mod.json — the mod manifest
    • main.rb — your entry point with a template
  5. Write your code in main.rb
  6. Test by copying the folder to Mods/ and launching the game
  7. Upload via Modder ToolsUploadMod

Creating a Modpack

  1. Modder ToolsCreateModpack
  2. Enter name, author, description, version, and tags
  3. Select mods to include — for each mod you can optionally set a minimum version
  4. Output: ModDev/<pack_id>/modpack.json
  5. Upload via Modder ToolsUploadModpack

Note: Uploading modpacks requires verified team membership with write access to the KIF-Mods repository.

Uploading & Deleting

All upload/delete operations are available in Modder Tools with submenu navigation:

ActionModModpack
CreateGuided wizard → ModDev/<id>/mod.json + main.rbGuided wizard → ModDev/<id>/modpack.json
UpdateEdit name, description, version, tags, deps, incompatibilitiesEdit name, description, version, tags, mod list
UploadRuns publish_mod.bat / .sh — write access or fork+PRRuns publish_modpack.bat / .shwrite access required
Delete (local)Removes folder from ModDev/Removes folder from ModDev/
Delete from RepoRuns delete_mod.bat / .sh — author verification + write accessRuns 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.

mod.json Reference

{
  "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"
}
FieldRequiredDescription
nameYesDisplay name
idYesUnique identifier (lowercase, underscores)
versionYesSemantic version (X.Y.Z)
authorYesYour GitHub username
descriptionNoShort description shown in the browser
tagsNoArray of tags for filtering
dependenciesNoArray of { "id", "min_version" } objects
incompatibleNoArray of mod IDs this mod conflicts with
settingsNoArray of setting definitions (see below)
scriptsYesArray of .rb files to load (in order)
iconNoFilename of the icon image (shown in browser)

modpack.json Reference

{
  "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" }
  ]
}
FieldRequiredDescription
nameYesDisplay name
idYesUnique identifier
versionYesSemantic version
authorYesYour GitHub username
descriptionNoShort description
tagsNoArray of tags
modsYesArray of { "id", "version" }version is an optional minimum

Settings Definitions

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"]
  }
]
TypeFieldsDescription
boolkey, label, defaultToggle (true/false)
intkey, label, default, min, maxInteger slider
floatkey, label, default, min, maxDecimal slider
stringkey, label, default, optionsSelection from a list

Access at runtime: $mod_manager_settings["my_mod"]["speed"]

Tags

Available tags for mods and modpacks:

Gameplay · Visual · Audio · QoL · Content · Fusion · Balance · Debug · Multiplayer

Repository Structure

KIF-Mods/mods/
├── my_mod/
│   ├── mod.json
│   ├── main.rb
│   └── icon.png
├── another_mod/
│   ├── mod.json
│   └── main.rb
└── modpacks/
    └── competitive_pack/
        └── modpack.json

Mod File Structure (Local)

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.

Contributors

SilvertongueRED

32 commits

sKarreku

27 commits

Stonewallxx

15 commits

Charmingloopy

4 commits

KIF-Mods/mods

Kuray's Infinite Fusion mods for the Mod Manager

1

stars

79

commits

Ruby

primary language

Aug 26, 2026

updated

README

Mod Manager v1.0.0

KIF Mod Manager

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.


Table of Contents


For Players

Getting Started

The Mod Manager is accessible from the title screen. From there you can:

  • View all installed mods and toggle them on/off
  • Open the Mod Browser to find new mods
  • Access Modder Tools to create your own mods
  • Check for Mod Manager updates (shown as a yellow banner when available — press U to update)

Mod Browser

The Mod Browser has three tabs:

TabDescription
ModsBrowse all mods on the KIF-Mods repository. See names, descriptions, tags, versions, and install status. Install or update with Z.
ModpacksBrowse curated collections of mods. Install an entire modpack at once — all included mods are downloaded together.
Share CodeImport or export share codes to quickly share your mod setup with others.

Controls:

KeyAction
Z / ClickInstall / Update selected mod or modpack
X / EscBack
SSearch
TFilter by tag
TabSwitch tab
1 2 3Jump 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

Modpacks are curated sets of mods bundled together. They appear in the Modpacks tab of the Mod Browser.

  • Each modpack lists the mods it contains with their install status
  • Installing a modpack downloads all included mods at once
  • Mods can have optional minimum version requirements
  • Dependencies of included mods are resolved automatically

Share Codes

Share codes let you share your exact mod setup with other players.

Exporting:

  • From the Installed Mods screen, press the Share Code footer button
  • A compact code (KIF-...) is generated from all your enabled mods and copied to your clipboard
  • Send the code to friends via Discord, chat, etc.

Importing:

  • Go to the Share Code tab in the Mod Browser
  • Select Import — the Mod Manager checks your clipboard automatically
  • If a valid KIF- code is found, it shows the decoded mod list with install status
  • Install missing mods or update older versions directly from there
  • You can also type/paste a code manually

Mod Settings

Many 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"].


For Modders

Creating a Mod

  1. Open the Mod Manager from the title screen
  2. Go to Modder ToolsCreateMod
  3. Follow the wizard:
    • Mod name (auto-generates an ID)
    • Author name
    • Description
    • Version (default 1.0.0)
    • Tags (multi-select)
    • Dependencies (pick from known mods)
    • Incompatibilities
  4. Output is generated in ModDev/<mod_id>/:
    • mod.json — the mod manifest
    • main.rb — your entry point with a template
  5. Write your code in main.rb
  6. Test by copying the folder to Mods/ and launching the game
  7. Upload via Modder ToolsUploadMod

Creating a Modpack

  1. Modder ToolsCreateModpack
  2. Enter name, author, description, version, and tags
  3. Select mods to include — for each mod you can optionally set a minimum version
  4. Output: ModDev/<pack_id>/modpack.json
  5. Upload via Modder ToolsUploadModpack

Note: Uploading modpacks requires verified team membership with write access to the KIF-Mods repository.

Uploading & Deleting

All upload/delete operations are available in Modder Tools with submenu navigation:

ActionModModpack
CreateGuided wizard → ModDev/<id>/mod.json + main.rbGuided wizard → ModDev/<id>/modpack.json
UpdateEdit name, description, version, tags, deps, incompatibilitiesEdit name, description, version, tags, mod list
UploadRuns publish_mod.bat / .sh — write access or fork+PRRuns publish_modpack.bat / .shwrite access required
Delete (local)Removes folder from ModDev/Removes folder from ModDev/
Delete from RepoRuns delete_mod.bat / .sh — author verification + write accessRuns 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.

mod.json Reference

{
  "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"
}
FieldRequiredDescription
nameYesDisplay name
idYesUnique identifier (lowercase, underscores)
versionYesSemantic version (X.Y.Z)
authorYesYour GitHub username
descriptionNoShort description shown in the browser
tagsNoArray of tags for filtering
dependenciesNoArray of { "id", "min_version" } objects
incompatibleNoArray of mod IDs this mod conflicts with
settingsNoArray of setting definitions (see below)
scriptsYesArray of .rb files to load (in order)
iconNoFilename of the icon image (shown in browser)

modpack.json Reference

{
  "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" }
  ]
}
FieldRequiredDescription
nameYesDisplay name
idYesUnique identifier
versionYesSemantic version
authorYesYour GitHub username
descriptionNoShort description
tagsNoArray of tags
modsYesArray of { "id", "version" }version is an optional minimum

Settings Definitions

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"]
  }
]
TypeFieldsDescription
boolkey, label, defaultToggle (true/false)
intkey, label, default, min, maxInteger slider
floatkey, label, default, min, maxDecimal slider
stringkey, label, default, optionsSelection from a list

Access at runtime: $mod_manager_settings["my_mod"]["speed"]

Tags

Available tags for mods and modpacks:

Gameplay · Visual · Audio · QoL · Content · Fusion · Balance · Debug · Multiplayer

Repository Structure

KIF-Mods/mods/
├── my_mod/
│   ├── mod.json
│   ├── main.rb
│   └── icon.png
├── another_mod/
│   ├── mod.json
│   └── main.rb
└── modpacks/
    └── competitive_pack/
        └── modpack.json

Mod File Structure (Local)

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.

Contributors

SilvertongueRED

32 commits

sKarreku

27 commits

Stonewallxx

15 commits

Charmingloopy

4 commits

Languages

Ruby

51.3%

Python

31.5%

C

16.1%