Might & Magic X QoL Mod

https://www.nexusmods.com/mightandmagicx/mods/20

Since my main project isn’t going well, I’m doing some other things. This is a mod I made for Might & Magic X that improves some of its playability issues. The impetus for it was how slowly you move around in-game. I really wanted to speed that up.

MM10 modding is interesting because it was originally pitched with moddability as a feature, and in fact it shipped with a modding kit, but the problem is that using it requires Unity Pro. As such, I don’t think anyone ever published anything with it. However, a lot of game data is stored in plaintext files, so most of the available mods just manipulate those.

That wasn’t enough to do what I wanted to do, though, so I had to look into the mods that alter the code. Turns out it’s pretty easy to do. Since this is a C# Unity game, the code can be easily decompiled, and since it’s not obfuscated, it’s relatively easy to research and modify. I used a program called dnSpy to do this.

One interesting thing is that because (I think) of Unity shenanigans, not every C# class will recompile properly after being decompiled. In those cases, I have to compile at the method level if possible, and if not, edit the byte code directly.

One thing I haven’t managed to do yet is add completely new interface elements from code, but so far that’s more of a curiosity than a serious obstacle. I’ve done most of what I wanted to do.

Overall, this was a fun thing to learn, and I made MM10 a lot more fun to play for myself in the process.