Fire Emblem Three Houses Randomizer Custom Build

Tags: #<Tag:0x00007f22c7952540>

First of all, this is an edited version of Blyvern’s Fire Emblem Three Houses Randomizer V1.0.1.
Credit goes to Blyvern and I’ve recieved his ok to publish this.

The idea here is that I wanted an even more random FE3H experience than the previous randomizer could provide. So therefore, I decided to improve* upon the randomizer!

To demonstrate, here’s a dark magic wielding dragon thief with the Major Crest of Gloucester:

At first, this was only going to be for personal use, so I didn’t bother with programming the GUI since it was way easier to just change the parameters manually before running the program. This means that the randomizer currently doesn’t support randomization options.

But hey! If you can get past that, I’d say the randomizer still produces quite the interesting experience…

*depends on whether or not one equates “more randomness” with “fun”.


  • Character Model Swaps
  • Character Model Properties
  • Character Stats and Properties
  • Character Learnsets
  • Linked Attack Bonuses
  • Class Stats and Properties
  • Class Skills
  • Class Certification
  • Class Mastery
  • Monster Abilities
  • Weapon Stats and Properties
  • Magic Stats and Properties
  • Turret Stats and Properties
  • Gambit Stats and Properties
  • Staggering Blow Stats and Properties
  • Combat Art Stats and Properties
  • Battalion Stats and Properties
  • Free Day Properties
  • Reqruitment Requirements
  • Background Music

Other Changes

  • Removed Stat Caps
  • Moved Special Classes to Advanced
  • Units are to Scale on the Map
  • Removed Weapon Restrictions for Classes
  • Removed Gender Lock for Classes

Please consult the readme included in the download for further details about randomization and changes.

How to Use

  1. Make sure you have version 1.2.0 of Fire Emblem Three Houses.

  2. Get ahold of the specified “.bin” files located in romfs\patch4\nx\data from the extracted rom:

  • fixed_act_data.bin
  • fixed_classdata.bin
  • fixed_data.bin
  • fixed_lobby_common.bin
  • fixed_persondata.bin
  • fixed_calendardata.bin (optional, found in romfs\patch3\nx\data)
  • BGM.ktsl2stbin (optional, found in romfs\nx\sound)
  1. Load the files in the randomizer, check the “Generate Changelog” checkbox and/or set a seed if you wish, then click “Randomize and save” to save your new files in another directory. You usually don’t want to overwrite the extracted rom.

  2. Rebuild your new randomized rom using these newly randomized files! (LayeredFS or something? I dunno, I’m not a rom doctor)


  • Polished up the randomizer and fixed some weird camera angles caused by random class typing. The camera now functions properly for all classes, regardless of whether they used to be mounted units or not! Also: Randomized Mount Models!!
  • Added BGM Randomization as an experimental feature! Loading the associated BGM.ktsl2stbin file is optional because the random music fails to load sometimes, which causes lag.
  • Added the “Generate Changelog” feature back into the randomizer! Don’t spoil yourself too much, now…



this is awesome, thanks for sharing this!

1 Like

This is litterly just three houses on drugs

1 Like

Just found out how to give mounts and animations to classes. The randomizer now gives mounts to mounted classes, as well as fitting animations. The heavy armor units, riding units and flying units actually act like the class types they are, now! :+1:

Put in a bunch more work on the randomizer. Now, it can generate you a changelog! (again)

Hey there, I know you don’t plan on making any sort of gui for adjustable parameters, but out of curiosity is there any way to go in and adjust them/turn them on and off manually myself? I don’t mind tedium, I’m just not familiar enough with coding to know if it’s possible.

1 Like

Yeah, that is very possible! As long as you can access the source code, you can edit how the randomizer works to your heart’s content. Here’s the source code. Open the .sln file in Microsoft Visual Studio to start editing.


Awesome, thank you!

1 Like

is it possible that this could changed in the future? it would be really handy if you could manually change stuff around like how it worked with Blyvern’s old one

1 Like

At first I wasn’t planning on it, seeing that Blyvern was already working on an update for the randomizer, which would be adding many more features. However, at some point he had a major setback, which is part of why I decided to post this custom build in the first place. Putting time into a branch of his project, which is going to be updated anyway, seems a tad superfluous…

its going to be updated anyway? can you elaborate? I’m asking because I want to make another run at a randomized run. But the custom build had a lot more features than I had intended myself, lol.

1 Like

Well, I suppose there is a demand for it, so I might as well. Probably gonna take a while to get going though, as I still have yet to learn how to program a GUI… Guess I have some work to do :+1:

The worst case scenario is just replacing things that I don’t want randomized with the vanilla data files. But yeah a UI would go a long way haha

1 Like