How To Use Witcher 3 Script Merger

What is Script Merger and how to use it.

Script Merger for The Witcher 3. I threw together this tool because I got tired of manually merging script files. Checks your Mods folder for mod conflicts. Uses QuickBMS to scan.bundle packages. Merges.ws scripts or.xml files inside bundle packages using the powerful open-source merge tool KDiff3.

Script Merger by AnotherSymbiote is a tool for finding conflicts between script and xml mods and resolving them by merging conflicting files into one.

Even the very different mods can make changes to the same source file—gameplay script file or xml parameters file. But if they end up changing the file in different places—they can still work together. Navjeevan school sikar official website registration. However, the Witcher 3 engine doesn’t handle mods very well: it simply loads the first file it finds, all the other files with the same name from the other mods are ignored. This results in only one mod actually being loaded while the others are not loaded at all or loaded partially, which often leads to compilation errors or the mods not working properly.

It’s important to understand that changing mods priority won’t solve the problem: it will only allow for one particular mod with the highest priority to be fully loaded, but all the other mods will still be broken!

To make the game fully recognize all the installed mods that change the same file, you need to merge all those changes into one file and set the highest priority for that new file—and this is exactly what Script Merger does.

Script Merger uses kdiff3 utility to compare vanilla and modded file(s) and merge them all into one. Merged file is then added to special “mod” (mod0000_MergedFiles) with the highest priority over all the other mods—this makes the game load the merged file first and ignore all the others, thus resolving compatibility problem.

This is how it looks like:

To install Script Merger download the package from The Witcher 3 Nexus and unpack it to any folder you like, for example, “D:Witcher-3-ModdingWitcher-3-Script-Merger”. However, do not install the tool into “Program Files” or any of the other system protected folders! You can install the tool into “The Witcher 3” folder or into “Mods” folder, but I still recommend making a separate folder just for TW3 tools.

After unpacking the files run “WitcherScriptMerger.exe” and set the game path:

You can pin the program to taskbar or create an icon for easy access.

After this I recommend checking “Menu -> File -> Dependency Locations” to make sure everything was installed properly (the colors must be green):

Next step is to set up the tool with “Menu -> Options”:

  • Show Status Bar“—turn it on to see found/merged stats.
  • Merging…“—I recommend to turn everything off to speed up merging process, especially if you’re not a programmer/modder—these messages won’t tell you that much anyway. But if you’re experiencing problems with merging some of the mods and can’t understand what’s happening/looking for help—turn on everything except “Review Each Merge”. “Review Each Merge” option is useful for those who want a complete manual control over each merge—turning it on will result in kdiff3 interface being shown for each merged file.
  • Refreshing Conflicts“—turn everything on, except “Check Non-Bundled XML Files“—this feature is bugged and not working as intended, which often leads to confusion and broken installs! I also recommend to turn off all the options in “Auto-Collapse Tree If…” submenu to make sure you won’t miss potential conflicts.

“Conflicts” window displays all the conflicts found (not all the installed mods!) and “Refresh” button makes the program to re-scan Mods folder.

“Merges” window displays all the merged files (again, not all the files you have!).

“Scripts” tree shows unresolved conflicts between gameplay scripts. To resolve a conflict select corresponding file and press “Create Selected Merge” button below:

You can also select all the scripts and press the button to merge everything.

If the merge was successful, you will see a message:

If you’re merging several mods, similar messages will appear several times.

If the program was unable to automerge all the conflicts—kdiff3 interface appears where you will need to resolve conflicts manually. Refer to Script Merger description page for guides and video instructions on how to do it.

“Bundled texts” tree shows bundled xml files and merging them works the same way as merging scripts. The only difference is that the process is slower because the merger needs to unpack and then pack the bundles.

“Bundled Non-text — Not Mergeable” tree shows conflicts between binary files, such as textures and menu files (redswf). These conflicts can’t be resolved by Script Merger—refer to corresponding mod(s) description for compatibility instructions.

A mod can instruct you to set certain priority for it—right click on this mod’s name (it doesn’t matter in which tree) and select “Set Overall Mod Priority…” option:

Merger

Setting priority to “1” will make this mod to be loaded first (but still after the “mod0000_MergedFiles”):

By default, the game loads mods in alphabetic order, so you can control the priorities manually. For example, if you want “modNotSoCoolMod” to be loaded before “modAVeryCoolMod“, rename “modNotSoCoolMod” to “modAAANotSoCoolMod” or rename “modAVeryCoolMod” to “modZZZAVeryCoolMod“.

To delete a merge select corresponding merged file in the “Merges” window on the right and press “Delete Selected Merge” button:

You can delete several/all merges by selecting several/all files and pressing the button.

Another useful feature is quick access to a merged file—right click on a file in the “Merges” window on the right and press “Open Merged File” button:

Keep in mind that despite being powerful tool, Script Merger doesn’t have supernatural properties and its ability to resolve conflicts depends on mod author and whether or not he/she tried to minimize potential conflicts. Furthermore, some of the mods simply can’t be merged together, for example, if they change the same thing but in a different way: two alchemy mods changing how brewing works, two combat mods changing how damage is calculated, etc.

And you should also remember that you need to run Script Merger each time you install, update or remove a mod!

arthor220

Rookie
Script Compilation Error even with Script Merger
Hi, I've been getting script compilation errors when I click play Witcher 3 on GoG galaxy.
The following is the error I get.
Error [content0]gamegameplaylevelinglevelmanager.ws(475): Found unexpected '}'
Error [content0]gamegameplaylevelinglevelmanager.ws(476): Found unexpected '}'
I used script merger and mods are all updated so I don't know why it shows this.
Any help would be appreciated, ty.
EDIT: I deactivated all my mods and it still shows these two lines, so I don't think mods are the problem here.

Related Post