Help:Tools/UKMM: Difference between revisions

Ginger (talk | contribs)
Why use UKMM?: Add the thing about forwarding map file changes. Dunno why. Nobody reads this freakin section.
Ginger (talk | contribs)
Overhaul: Moved early info sections into FAQ, added some FAQ questions, reorganized FAQ area, simplified some language, added note about changing language for non-English and non-native speakers
 
Line 8: Line 8:


UKMM ('''UK'''ing '''M'''od '''M'''anager) is an updated mod manager for BotW. It is used to install and uninstall mods, and solves many mod conflicts. It was created to solve bugs that fundamentally couldn't be solved by BCML, due either to limitations in the Python programming language or early design choices in BCML.
UKMM ('''UK'''ing '''M'''od '''M'''anager) is an updated mod manager for BotW. It is used to install and uninstall mods, and solves many mod conflicts. It was created to solve bugs that fundamentally couldn't be solved by BCML, due either to limitations in the Python programming language or early design choices in BCML.
==Why Use a Mod Manager?==
BotW contains about 17,000 archives in its standard form. When those archives are fully and completely decompressed and extracted, the game contains roughly 200,000 files. Most of those 200,000 files contain dozens, even hundreds, of parameters.
If a mod edits just one of those parameters, in one of those files, in one of those archives, then, without a mod manager, that mod will override every other mod that you have that contains that archive. Given that an archive may contain an average of several thousand parameters, you can see how often mods will conflict.
This isn’t even taking into account a special file that BotW has, called the RSTB. The RSTB contains data on almost every one of those 200,000 files, and so almost every mod needs to edit the RSTB. Most mods rely on a mod manager to edit the RSTB, so even if you don’t want to install more than one mod, the odds are still good that the mod you’re installing is assuming you’ll use a mod manager to make it work.
And to top it all off, even if the one mod you want to use includes its own RSTB? That RSTB was probably made automatically, using an outdated tool that generates bad edits for the RSTB. And nobody has ever fixed that tool, because UKMM contains a much more accurate tool for it, that everyone is using anyway.
BotW is not like other games. Manually installing mods is not a simple process for it, 99% of the time. You ''need'' a mod manager.
==BCML or UKMM?==
BCML was designed to generate RSTB entries, and grew over the years to become something much larger and more clunky than was originally intended. UKMM was built from the ground up, by the same devs who wrote BCML, to be a complete mod manager for all forms of BotW, so it performs much better.
Which one should you use? Except for a few very rare exceptions, you should always use UKMM.
===Why use UKMM?===
# It installs BNPs just like BCML does
# It's easier to install
# If you're using Cemu, or previously used BCML, it's much easier to set up
# It gives you more control over where your mods are deployed and how they're deployed there
# It merges map changes from the DLC files into the base game, so you can install many mods that only have DLC map files even if you don't have the DLC
# It doesn't force a remerge every single time you change anything. You can install 30 mods with UKMM and choose to only merge one time, at the very end, if you want. BCML would go through a long, full remerge process every single time, increasing the amount of time you spent not playing
# It doesn't need to fully remerge every single file when you install something. BCML could never manage to merge only the files required by changed mods without breaking something. UKMM can do it just fine, so installing small mods doesn't take 2 minutes if you have a large mod installed
# It merges any given file faster than BCML can merge the same file
# It merges more file types, meaning mods are more compatible than before
# It fixes several things about animation and AI merging, increasing compatibility between mods that edit those things.
# It generates proper RSTB entries for all assets, resulting in no crashes or panic blood moons related to file size (Some panic blood moons may remain if you use certain mods that increase the system load by a large amount, but even these mods will be more stable with UKMM)
# It supports dumps as WUA files if you're using Cemu
# It is a lot more strict with the files it accepts than BCML is, which means that you are far less likely to see an infinite loading screen or crash. Instead, you'll see an error in UKMM which will (almost always) tell you exactly what is wrong
===When should I not use UKMM?===
# You're using Dark Army Resurrection
# You're using the online multiplayer mod
In all other cases, use UKMM
===But I found a bunch of tutorials for BCML!===
That's because BCML ''needed'' them, because it was difficult to set up.


==Installation==
==Installation==
Line 71: Line 32:


==Setup==
==Setup==
There are three methods of setup, depending on whether you are coming from BCML or not, and if not, if you are using Cemu and have set it up already
There are three methods of setup, depending on whether you are coming from BCML or not, and if not, if you are using Cemu and have set it up already.
 
==== Note for Non-Native English Speakers ====
Make sure that you set the UKMM Language setting to your native language (if present). This will help you understand the program and its layout better.
 
(Yes, I realize that the fact that you don't speak English natively means you may not be able to read this, but hey, maybe you're translating this page, or maybe you can partially read English. I'm not judging, here.)


===Importing from BCML===
===Importing from BCML===
If you previously used BCML and it worked for you, congratulations! Your job is easy. Go to the Settings tab, click '''Migrate from BCML'''. Wait for it to finish. There you go! All done!
If you previously used BCML and it worked for you, congratulations! Your job is easy. Go to the Settings tab, click '''Migrate from BCML'''. Wait for it to finish. There you go! All done! Now go to [[Help:Tools/UKMM#No, really, how do I use it?|No, really, how do I use it?]] to learn the simplest way to use UKMM


===Not importing from BCML, using Cemu===
===Not importing from BCML, using Cemu===
If you're using Cemu and you've previously seen the 1.5.0 version number in the bottom right of the BotW main menu, just click '''Import Cemu Settings''' inside the Wii U Config section, and select the folder that contains Cemu.exe. There you go! All done!
If you're using Cemu and you've previously seen the 1.5.0 version number in the bottom right of the BotW main menu, just click '''Import Cemu Settings''' inside the Wii U Config section, and select the folder that contains the Cemu program. There you go! All done! Now go to [[Help:Tools/UKMM#No, really, how do I use it?|No, really, how do I use it?]] to learn the simplest way to use UKMM


===Manual Setup===
===Manual Setup===
Line 214: Line 180:


==FAQ==
==FAQ==
===What's the difference between merge/Apply and Deploy?===
"Apply" and "merge" (or, "applying the merge") both mean to take the mods you have installed and combine them into one single mod. "Deploy" means to take the combined files and put them in the output folder.


UKMM splits these two concepts for multiple reasons. Maybe you want to merge a new set of mods and make sure there are no merge errors before you overwrite your deployed files. Maybe you have your output folder set to your SD card and want to merge while you look for your SD card, then plug it in to deploy. There are many reasons you might want these two operations separated.
=== Mod Manager-Related Questions ===
 
==== Do I need to use a mod manager? ====
Yes.
 
==== But I install mods manually all the time? ====
In other games you do. BotW doesn't work the same way. You need to use a mod manager.
 
==== Okay. WHY do I need to use a mod manager? ====
BotW contains about 17,000 archives in its standard form. When those archives are fully and completely decompressed and extracted, the game contains roughly 200,000 files. Most of those 200,000 files contain dozens, even hundreds, of parameters.
 
If a mod edits just one of those parameters, in one of those files, in one of those archives, then, without a mod manager, that mod will override every other mod that you have that contains that archive. Given that an archive may contain an average of several thousand parameters, you can see how often mods will conflict.
 
This isn’t even taking into account a special file that BotW has, called the RSTB. The RSTB contains data on almost every one of those 200,000 files, and so almost every mod needs to edit the RSTB. Most mods rely on a mod manager to edit the RSTB, so even if you don’t want to install more than one mod, the odds are still good that the mod you’re installing is assuming you’ll use a mod manager to make it work.
 
And to top it all off, even if the one mod you want to use includes its own RSTB? That RSTB was probably made automatically, using an outdated tool that generates bad edits for the RSTB. And nobody has ever fixed that tool, because UKMM contains a much more accurate tool for it, that everyone is using anyway.


If you don't want the operations separated, turn the Auto Deploy setting on, and it will always deploy right after merging (similar to what BCML did)
=== UKMM vs. BCML Questions ===


===Why does it say it can't find files in my dumps?===
==== When should I use UKMM as my mod manager, instead of BCML? ====
Your dump paths are probably set wrong. Go back up to [[Help:Tools/UKMM#Game Dump|the game dump section]] and make sure you've followed the directions correctly.
Except for a few very rare exceptions, you should always use UKMM.


If you're absolutely sure your game dumps are set right, check to make sure your dumps haven't been corrupted somehow. If the file UKMM claims is missing, really is missing, then you may have to dump your game again.
==== What are the exceptions, for when I should use BCML instead? ====
# You're using Dark Army Resurrection
# You're using the online multiplayer mod
This list is not exhaustive, but it ''almost'' is. There's very few other real reasons to use BCML, after 2024 when UKMM surpassed it.


===Why don't my mods show up in my emulator after deploying?===
==== WHY should I use UKMM instead? ====
Make sure you're using the most up to date version. Go back up to [[Help:Tools/UKMM#Install|the installation section]] and make sure you've followed the directions correctly.
# It installs BNPs just like BCML does.
# It's easier to install.
# If you're using Cemu, or previously used BCML, it's much easier to set up.
# It gives you more control over where your mods are deployed and how they're deployed there.
# It merges map changes from the DLC files into the base game, so you can install many mods that only have DLC map files even if you don't have the DLC.
# It doesn't do unnecessary things, part 1. When you install a mod, all it does is install it. It will only combine it with other mods when you tell it to combine them.
# It doesn't do unnecessary things, part 2. When you merge/combine mods, it only recombines those files from the mods you've changed since your last combo.
# It merges any given file faster than BCML can merge the same file.
# It makes mods more compatible than before, part 1. It merges more file types.
# It makes mods more compatible than before, part 2. It fixes merging for several file types that BCML had errors with.
# It generates proper RSTB entries for all assets, resulting in no crashes or panic blood moons related to file size. (Some panic blood moons may remain if you use certain mods that increase the system load by a large amount, but even these mods will be more stable with UKMM)
# It supports dumps as WUA files if you're using Cemu. (The hope is to also add support for NSP and XCI files with the Switch version, but those still can't be read yet)
# It is a lot more strict with the files it accepts than BCML is, which means that you are far less likely to see an infinite loading screen or crash.
# When something goes wrong, it gives the list of things it was doing in a way that is mostly readable by a human, instead of just dumping a bunch of code on you.
# If English isn't your native language, it (probably) has localization for your language, so that you can understand its UI better.
This list is not exhaustive, but it's long enough that the question is probably sufficiently answered.


Make sure your deploy folder is set correctly. Go back up to [[Help:Tools/UKMM#Deployment|the deployment section]] and make sure you've followed the directions correctly.
==== But I found a bunch of tutorials for BCML! ====
Not a question. Also, that's because BCML ''needed'' them, because it was difficult to install and set up.


If your mods still don't show up in your emulator, make sure that the location they're being deployed to isn't managed by OneDrive. It will delete them because it sucks. Consider uninstalling OneDrive, but at the very least, you'll need to tell it not to manage where you deploy to.
=== Dump-Related Questions ===


===Do I really need a game dump?===
==== Do I really need a game dump? ====
Yes.
Yes.


===Do I REAAAAAALLY need a game dump???===
==== Do I REAAAAAALLY need a game dump??? ====
Still yes.
Still yes.


===Why do I need a game dump?===
==== Why do I need a game dump? ====
BotW stores almost all of its files inside archives. Any given file you can look at using your file explorer will most likely contain dozens of files or more, each of which can contain hundreds of parameters inside it.
BotW stores almost all of its files inside archives. Any given file you can look at using your file explorer will most likely contain dozens of files or more, each of which can contain hundreds of parameters inside it.


Line 248: Line 246:
There is no functional way around this. Every single mod manager does this on ''some'' level. Cyberpunk 2077 mods must be merged with game files. No Man's Sky mods must be merged into game files. Even Bethesda plugins contain only changes, which their games merge directly. Any games in the Unreal Engine do this with pak files, as well. There are only 2 reasons BotW is harder than any of these other games: it doesn't have an internal mechanism for merging, and it is normally on a console so there is no specific location on your computer where the tool can expect to find it.
There is no functional way around this. Every single mod manager does this on ''some'' level. Cyberpunk 2077 mods must be merged with game files. No Man's Sky mods must be merged into game files. Even Bethesda plugins contain only changes, which their games merge directly. Any games in the Unreal Engine do this with pak files, as well. There are only 2 reasons BotW is harder than any of these other games: it doesn't have an internal mechanism for merging, and it is normally on a console so there is no specific location on your computer where the tool can expect to find it.


===Where is my game dump?===
==== Where is my game dump? ====
I don't know. Nobody other than you knows. The guide gives possible locations where it can be found, but at the end of the day, you're the one who put it on your computer, so you're the one who knows where it is.
I don't know. Nobody other than you knows. The guide gives possible locations where it can be found, but at the end of the day, you're the one who put it on your computer, so you're the one who knows where it is.


===But I really don't know where my game dump is!===
==== But I really don't know where my game dump is! ====
Shouldn't be that hard to find, considering you chose exactly where, on your computer, it went when you dumped it. The only ''real'' reason for you not to know where the dump is, is if you pirated it. And piracy is not supported, so good luck!
Not a question. But it shouldn't be that hard to find, considering you chose exactly where, on your computer, it went when you dumped it. The only ''real'' reason for you not to know where the dump is, is if you pirated it. And piracy is not supported, so good luck!
 
=== General UKMM Questions ===
 
==== What's the difference between merge/Apply and Deploy? ====
"Apply" and "merge" (or, "applying the merge") both mean to take the mods you have installed and combine them into one single mod. "Deploy" means to take the combined files and put them in the output folder.
 
UKMM splits these two concepts for multiple reasons. Maybe you want to merge a new set of mods and make sure there are no merge errors before you overwrite your deployed files. Maybe you have your output folder set to your SD card and want to merge while you look for your SD card, then plug it in to deploy. There are many reasons you might want these two operations separated.
 
If you don't want the operations separated, turn the Auto Deploy setting on, and it will always deploy right after merging (similar to what BCML did)
 
==== Why don't my mods show up in my emulator after deploying? ====
Make sure you're using the most up to date version. Go back up to [[Help:Tools/UKMM#Install|the installation section]] and make sure you've followed the directions correctly.
 
Make sure your deploy folder is set correctly. Go back up to [[Help:Tools/UKMM#Deployment|the deployment section]] and make sure you've followed the directions correctly.
 
If your mods still don't show up in your emulator, make sure that the location they're being deployed to isn't managed by OneDrive. It will delete them because it sucks. Consider uninstalling OneDrive, but at the very least, you'll need to tell it not to manage where UKMM deploys to.


===Why aren't all BNPs compatible?===
==== Why aren't all BNPs compatible? ====
Some BNPs were made for BCML by directly editing log files, or by adding files to a game dump before generating the BNPs. Neither of these things were ever supported for BCML, and only worked by accident. Work is in progress to fix this in UKMM, but until then, certain BNPs cannot be installed with UKMM. If the mod has a regular graphic pack or loose file version, install that instead. Otherwise, bug the mod author about making their mods correctly.
Some BNPs were made for BCML by directly editing log files, or by adding files to a game dump before generating the BNPs. Neither of these things were ever supported for BCML, and only worked by accident. Work is in progress to fix this in UKMM, but until then, certain BNPs cannot be installed with UKMM. If the mod has a regular graphic pack or loose file version, install that instead. Otherwise, bug the mod author about making their mods correctly.


===Why can't UKMM detect my dump paths for consoles/Yuzu/Ryujinx?===
==== Why can't UKMM detect my dump paths for consoles? ====
When you dump your game files to your PC, they go wherever you put them. There's no single location for it, so UKMM can't find it unless it scours the entirety of your computer (which would take forever and still probably not work).
When you dump your game files to your PC, they go wherever you put them. There's no single location for it, so UKMM can't find it unless it scours the entirety of your computer (which would take forever and still probably not work).


==== Why can't UKMM detect my dump paths for Yuzu/Ryujinx? ====
Yuzu and Ryujinx don't use loose files to play the game, like Cemu does. They use XCI, NSP, or whatever other format, and UKMM can't read those, because there is no library for it. So UKMM could scan your Yuzu/Ryujinx settings for where your game/update/dlc archives are, but it wouldn't be able to do anything with them.
Yuzu and Ryujinx don't use loose files to play the game, like Cemu does. They use XCI, NSP, or whatever other format, and UKMM can't read those, because there is no library for it. So UKMM could scan your Yuzu/Ryujinx settings for where your game/update/dlc archives are, but it wouldn't be able to do anything with them.


===Why does UKMM say "no platform for update"?===
==== Why is UKMM so hard to use? ====
It can't detect what operating system you're using, in order to determine which version of the executable to download. Support for this feature is ongoing. You can just download the new version manually, from the link above in the [[#Prebuilt_program]] section.
 
===Why is UKMM so hard to use?===
We've received this feedback quite a bit, but nobody has ever been able to explain exactly ''what'' is hard to use about it, so we've never had any idea what to fix. If you have concrete suggestions about how to make it easier to use, please tell us [https://discord.gg/vPzgy5S on the discord].
We've received this feedback quite a bit, but nobody has ever been able to explain exactly ''what'' is hard to use about it, so we've never had any idea what to fix. If you have concrete suggestions about how to make it easier to use, please tell us [https://discord.gg/vPzgy5S on the discord].


===UKMM's UI sucks! It makes me want to kill my mother!===
==== UKMM's UI sucks! It makes me want to kill my mother! ====
Believe it or not, yes, this is ''actual'' feedback we've received.
Believe it or not, yes, this is ''actual'' feedback we've received.


BCML's UI was based on React, a JavaScript UI framework designed for websites. UKMM's UI is based on egui, a functional UI framework designed for utilitarian programs. UKMM will likely never look as flashy as BCML did. Instead, it will look much like most other mod managers and computer programs do. We're sorry, but we take no responsibility for any harm that comes to any mothers.
BCML's UI was based on React, a JavaScript UI framework designed for websites. UKMM's UI is based on egui, a functional UI framework designed for utilitarian programs. UKMM will likely never look as flashy as BCML did. Instead, it will look much like most other mod managers and computer programs do. We're sorry, but we take no responsibility for any harm that comes to any mothers.


===Why did you write this program in Rust? Rust is the product of Lovecraftian madmen!===
==== Why did you write this program in Rust? Rust is the product of Lovecraftian madmen! ====
Yes, this was also actual feedback.
Yes, this was also actual feedback.


Rust is a fairly fast and easy-to-use language that is based heavily on C++, which a lot of the code libraries we needed to use were written in, so we could access the C++ code easily. C# was another choice, but it would have been more difficult to use existing code libraries.
Rust is a fairly fast and easy-to-use language that is based heavily on C++, which a lot of the code libraries we needed to use were written in, so we could access the C++ code easily. C# was another choice, but it would have been more difficult to use existing code libraries.
=== Error-Related Questions ===
==== Why is it failing to install BNPs? ====
What you're seeing is the least-specific thing. It's the equivalent of UKMM saying "something went wrong." In order to find out what actually ''caused'' it, you'll need to expand the details by clicking on the little arrow next to the word Details.
==== Why can't it find files in my dumps? ====
Your dump paths may be set wrong. Go back up to [[Help:Tools/UKMM#Game Dump|the game dump section]] and make sure you've followed the directions correctly. Notably, on Wii U: Base Game and Update paths should end in <code>/content</code> and DLC path should end in <code>/content/0010</code>.
If you're absolutely sure your game dumps are set right, check to make sure your dumps haven't been corrupted somehow. If the file UKMM claims is missing, really is missing, then you may have to dump your game again.
If you've checked both of these things and made sure they're correct, then it's possible that the mod has corrupted files in it, which caused UKMM to write down that they exist, but was unable to open them to see what it needed to do with them. There isn't much that can be done about this: if a file is corrupted in a way that UKMM wants to read it, but can't, then the game won't be able to read it either. The mod will need to be fixed. (List of known mods this applies to: Hyrule Rebalance v8. There may be others)
==== What does "game flag missing key" mean? ====
The mod was made wrong.
A "game flag" is something the game uses to store data when you leave, for example either walking away in-game or turning off the game entirely. If a game flag is missing something, it won't work properly.
==== Why does it say "no platform for update"? ====
It can't detect what operating system you're using, in order to determine which version of the executable to download. Support for this feature is ongoing. You can just download the new version manually, from the link above in the [[#Prebuilt_program]] section.