Standalone Utility to combine and edit mods, enabling previously incompatible mods to work together. Currently able to merge mods that use PhoenixShipData.sqlite and English localization strings.
Requirements
This mod does not have any known dependencies other than the base game.
Other user's assetsAll the assets in this file belong to the author, or are from free-to-use modder's resources
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are not allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 0.15
Updated Localization Merger to also be smarter across game versions
- Fixed bugs with merging Localization files
UI updates and tweaks
Update to .NET 9
Version 0.14
Supports January 2025 Update
Updated Automatic Mod Patcher to be smarter and simpler - should now be able to merge any mod no matter which version of the game it was built against
Added a game version selector - choose which version of the game to build a merged mod file for
Version 0.12
- Updated merger to support game patch from 4th May. NOTE: The automatic patcher isn't perfect due to cumulative breakages between game versions. It should "mostly" work though. Read the Posts page for more info.
Version 0.11.1
You can now import raw PhoenixShipData.sqlite files as "mods". This allows you to edit your own database files using e.g. DBBrowser or SQLStudio and then merge them with other mods without having to pack it first.
Fixed bugged colour in dark mode
Version 0.11
Massive improvement to merge speed - up to 150x faster (A 30 second build can now be done in 175 milliseconds)
Drag-and-drop support for adding mods
Insert your own new SQL queries into any mod (right-click > Insert New)
Better warning messages
Version 0.10.3
You can now save custom output folder locations from the UI.
Version 0.10.2
Fixed missing sqldiff.exe (whoops) by just embedding both it and UnrealPak.exe into one file. These are extracted if they don't already exist. Saves an extra step in the publish chain where I have to manually chose the files to include.
Version 0.10.1
Fixed crash on build if output directory doesn't already exist
Version 0.10
Added ability to prioritize mods within UI
!!! Mods at the TOP of the list now have highest priority !!!
Change output mod File Name
Can save directly to Hogwarts Legacy ~mods folder if this path is provided in Settings.json (UI entry coming soon)
UI improvements, disabled context menu when no items are present to prevent crash on right-click
Added keyboard shortcuts; Ctrl+Arrow Up/Down to move a mod
Can now double click to edit SQL entries
Added option to skip opening Explorer after building.
Version 0.9
Can now semi-intelligently patch out-of-date mods with one click rather than waiting for mod authors to update them (obviously a proper update is still better)
Re-enabled DELETE commands - fixes issues merging NPC Schedule Mod
UI tweaks
Version 0.8
Enabled viewing and editing of Localization files (in a separate tab at the top)
Began work on Configuration file merging (but not implemented yet)
Re-enabled system control of light vs dark theme
Re-enabled pak compression
Version 0.7
Significant speed-up when adding multiple mods at once (anywhere from 30%-70% faster depending on how many mods you're adding at once)
Merged warning messages when adding mods that cannot/don't need to be merged.
More UI improvements
Version 0.6
UI Updates and major behind-the-scenes code refactoring
Re-enabled dark mode
Version 0.5.3
Fixed crash when attempting to add mods that cannot be merged
Version 0.5.2
Fixed crash when trying to merge mods that are trying to insert the same entry (e.g. Companions Mod and Companions Use Unforgivables)
Version 0.5.1
Removed buggy dark mode for now, forces light mode by default
Version 0.5
Removed dependency on Parseltongue - people can't follow instructions
Removed broken dark mode, defaults to light only
Fixed some issues caused by moving the program after it had already been run
Fixed crash if you go to add a mod, then change your mind and choose nothing.
Version 0.4
Basic editing support enabled - you can right-click any entry and hit edit to modify the SQL as you like.
Add multiple .pak files at once
Embed default files + deps to hopefully mitigate more subtle failures.
Embeds .NET 6 Runtime dependencies - you no longer need to download .NET 6 separately. Of course this makes the program about 7x larger but oh well. 70MB isn't too bad.
Version 0.3-alpha6
Fix the mod merger failing to work when any files or paths contain non-latin characters.
Version 0.3-alpha5
Fixes crash when using Parseltongue version 0.2.2 or higher.
Version 0.3-alpha4.2
Should no longer crash when clicking "Merge Mods", Visual Studio bug was not detecting a missing file due to it being present in a temporary folder.
Version 0.3-alpha4
Fixed localization files not actually being merged (I'm an idiot).
Added timeout for unrealpak.exe to fix issues when trying to merge certain mods (the exe can freeze unexpectedly). This is a temporary fix
Version 0.3-alpha2
Added check if sqldiff.exe is missing (seems that some antiviruses are deleting it)
Output merged file is now prefixed with a "z".
Fixed user error by disabling merge button if you don't hit preview first.
Disabled compression for now
Version 0.3-alpha
Allows merging of mods that modify both the PhoenixShipData.sqlite and localised files (Vivarium/ROR Upgrado, Conjure Anything should now all merge properly. Merge order DOES MATTER).
Version 0.2-alpha
Better UI
Allows you to delete individual mod rows if they're going to clash (highlight the row and tap the delete key).
Version 0.1-alpha4
- Added support for merging mods that are already merged (e.g. Conjure Anything and ROR Upgrado) - previous would crash when trying.
Version 0.1-alpha3
Added support for more mod types (ones where internal directory structures are slightly different)
Version 0.1-alpha2
Fixed bug where the program doesn't work if there are any spaces in its folder path.
Merge multiple mod files together, allowing conflicting mods to work together
Currently only works for mods that Modify PhoenixShipData.sqlite and Main-enUS.bin
More options including .ini merging is coming soon
Note: Every Game Update that modifies the PhoenixShipData.sqlite file will render all mods that modify this file out of date! Mod authors will need to update/re-create their mods to incorporate these changes.
If you want a shortcut, you can run your mod through the merger by itself to semi-intelligently patch it to make them compatible again.
Outdated mods can still be merged and will be smartly filtered to patch out and breaking changes.
***NEW*** version 0.14 and 0.15
Supports Hogwarts Legacy January 2025 Update
Rewrote the Mod Patcher logic to be smarter and simpler; all outdated mods (including those built against the original Feb 2023 game version) should now be mergeable without breaking anything majorly. From 0.15 - this also works for English localization files too
Added Game Version selector: You can now choose which game version you want to merge mods for! You can technically use this feature to merge features from new mods into older versions of the game, but you're on your own if you try this. The main reason for adding this ability is a lot of people are downgrading their games to avoid the latest patch which broke a lot of third party mods.
Some mods that can be merged with this tool (Many many more can also be merged):
Download Hogwarts Mod Merger.zip and extract to a folder of your preference
Run Hogwarts Mod Merger
Choose a Game Version - if your exact version cannot be found, choose the version closest to yours that is OLDER. e.g. if your game is version 1145800, choose version 1130773 in the list.
Click "Add" and find the .pak file/s for the mods you want to add. Note: Not all mods can be merged in this way; the tool will notify you if this is the case.
A preview of the changes will show up in the table on the right, under the respective tab. Most mods will only modify the Phoenix Database, some will modify both Phoenix and Localization strings.
Repeat Step 3 for any other mods you want to add. Mods higher on the list will override lower mods if there are conflicts, so the order you add them matters! You can right-click to promote or demote a mod to change its priority.
Optional: Select each mod in the left list in turn, and right-click to edit or delete the entry. For Localization strings, you instead double-click the value box to edit
Click "Preview Merged Changes": This will show all the game changes that will be written to a new mod file on the right. This will remove any duplicate entries by default if two mods make the exact same change. Lines can be edited/deleted from this preview as in Step 6.
Click "Build Merged Mod".
The output folder will open. Copy the created "zMergedMods_P.pak"file to your ~mods folder (Should be in HogwartsLegacy/Phoenix/Content/Paks/~mods). You can rename the mod whatever you want. It should also be at the bottom of your mod list! Add as many "z"s to the start of the mod name to ensure this.
Variable: You should be able to delete the individual mods and only keep the merged one - however, if a mod changes more than just the PhoenixShipData.sqlite or language files, this will break them - in this case, keep both the merged mod and the original mod. You will have to play around with the mod order to make sure they work properly
Planned Features (In progress):
For mods that clash with each other (for example, two mods that both want to change the cooldown of Avada Kedavra), allow you to choose which mod has priority and/or manually edit the selected change to whatever you want.
Allow merging mods that change control schemes and keybindings, or any ".ini" changes in general.
Easily make your own mods that modify the database (contains many variables in the game, including cooldowns, unlocked waypoints, challenges, inventory slots, money, health, magic, duelling combos, etc.). I'll release this as a separate tool to avoid bogging this one down too much
For Mod Makers: If bundling more than PhoenixShipData.sqlite and localization files, please consider splitting these two into a separate pak from the rest of your mod to make it easier for merging :) e.g. Multimod_Mergable.pak and Multimod_NotMergeable.pak to allow merging of parts of the mod that can be merged without breaking the rest.