MCPcopy Index your code
hub / github.com/NiceneNerd/UKMM

github.com/NiceneNerd/UKMM @v0.17.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.17.1 ↗ · + Follow
1,636 symbols 5,194 edges 172 files 9 documented · 1% updated 1d agov0.17.1 · 2026-07-01★ 24912 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

UKMM: U-King Mod Manager

U-King Mod Manager is a tool for managing and merging mods for The Legend of Zelda: Breath of the Wild. It should be considered a successor to BCML.

Why?

Because BOTW is a fun, high quality game with a powerful engine and a fairly robust content/engine distinction, it is in many ways the perfect game to mod. Unfortunately, since it was designed to work on underpowered consoles, particularly the Wii U, its ROM structure is designed more for maximum efficiency and performance than for extensibility. Features like the Resource Size Table and large archives to handle diverse content loaded in single batches are excellent as optimizations but make modding a more brittle and conflict-prone process. (For more information on the many kinds of mod conflicts that tend to be ubiquitous in BOTW using ordinary game assets, see this reference on ZeldaMods. There is also a post about this on GBAtemp which summarizes the problem fairly concisely.)

Since BOTW mods are prone to such problems, when using more than one, they must often be processed and merged together to ensure a stable, playable experience (and in many cases just to get the game to boot at all). UKMM offers a powerful, robust, and highly accurate merging process to ensure the most optimal result: a modpack that pretty much just works.

In contrast to BCML, UKMM also tried to provide a more generally satisfying mod management experience not just narrowly focused on successful merging, drawing inspiration in some ways from the famous Mod Organizer 2.

Setup and Use

Unlike BCML, setup is pretty much just download and unzip. For more details consult the Book.

Building from Source

Unlike BCML, building from source is easy.

Requirements:

  • Recent Rust toolchain (MSRV 1.80)
  • A compiler that supports C++17
  • Modern CMake (4+)

Nothing else special is required. Generate a release build by running cargo build --release in the root repo folder. It may take a while.

Contributing

Issues: https://github.com/NiceneNerd/UKMM/issues

Contributions are always welcome. Some notes about the process:

  • At present, some tests need to be setup manually, as they require you to have a game dump and a Wii U mod to test on. However, all tests in the uk-content package are standalone and should be pass without any setup.
  • As this codebase grew is complicated ways over a period of a few years now, some parts might not be entirely consistent in conventions or could use refactoring. If you work on any part of the code that could use improvement in consistency or sustainability, please go ahead and do what seems right in your eyes.

License

This software is licensed under the terms of the GNU General Public License, version 3 or later. The source is publicly available on GitHub.

Special Thanks

Léo Lam: oead, many other BotW libraries
Anna Clemens: original BotW MSBT libraries
Gray: Dutch localization
Nebroc: French localization
Waikuteru: German localization
𝘽𝙤𝙤𝙢𝙞𝙚𝙨!★: Italian localization
carbonatedtea: Simplified Chinese localization

Extension points exported contracts — how you extend this code

Mergeable (Interface)
(no doc) [92 implementers]
crates/uk-content/src/lib.rs
LookupMod (Interface)
(no doc) [3 implementers]
crates/uk-manager/src/mods.rs
ResourceLoader (Interface)
(no doc) [3 implementers]
crates/uk-reader/src/lib.rs
ModOptionGroup (Interface)
(no doc) [2 implementers]
crates/uk-mod/src/lib.rs
OptionResultExt (Interface)
(no doc) [2 implementers]
crates/uk-util/src/lib.rs
Component (Interface)
(no doc) [1 implementers]
src/gui.rs
LocString (Interface)
(no doc) [1 implementers]
crates/uk-localization/src/string_ext.rs
UiExt (Interface)
(no doc) [1 implementers]
crates/uk-ui/src/ext.rs

Core symbols most depended-on inside this repo

clone
called by 565
crates/uk-manager/src/mods.rs
get
called by 344
crates/uk-content/src/util/collections.rs
localize
called by 239
crates/uk-localization/src/string_ext.rs
into_iter
called by 220
crates/uk-content/src/util/collections.rs
insert
called by 220
crates/uk-content/src/util/collections.rs
iter
called by 184
crates/uk-content/src/util/collections.rs
as_str
called by 170
src/gui/util.rs
get_data
called by 138
crates/uk-reader/src/lib.rs

Shape

Method 998
Function 380
Class 190
Enum 48
Interface 20

Languages

Rust100%

Modules by API surface

crates/uk-mod/src/unpack.rs41 symbols
crates/uk-manager/src/mods.rs41 symbols
crates/uk-mod/src/lib.rs35 symbols
crates/uk-manager/src/settings.rs35 symbols
crates/uk-content/src/util/collections.rs32 symbols
crates/uk-content/src/data/gamedata.rs28 symbols
crates/uk-content/src/data/savedata.rs27 symbols
crates/uk-content/src/actor/params/aiprog.rs27 symbols
src/gui/tasks.rs24 symbols
crates/uk-mod/src/pack.rs23 symbols
crates/uk-content/src/util/mod.rs23 symbols
crates/uk-content/src/resource.rs23 symbols

For agents

$ claude mcp add UKMM \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page