Jobs Store Support Register

[Tool] The Witcher 3 Mod Manager

+
[Tool] The Witcher 3 Mod Manager








Hello everyone, i proudly present my Witcher 3 Mod Manager. The program is still in BETA therefore some things might not be polished out, but it's working well enough to be stable.The current version is 0.4 BETA. I'm working hard on it, and try to release new updates as quickly as i can, to polish and fix all things that might not work as expected. The code is written in Python.

Source Code:
https://github.com/stefan3372/The-WItcher-3-Mod-manager.git

You can get it from nexus page:
https://www.nexusmods.com/witcher3/mods/2678/?

Or from the mirror:
https://drive.google.com/open?id=19B...OVirTFOe82TBpW


INSTALLING MODS:

How to use:
To install a mod you can either click button install Mod, go to Mods/Install Mod or press Ctrl+E. You will be prompted to select* folder(s) which contains mod files or archive file(s) ( .zip, .rar or .7z) or both as many as you want. Use this feature to only install one mod. After it's done it will write the number of main mod files, DLCs, mod menus, input.xml vars, input.settings keys and user.settings data it installed. The current state will be saved so afterwards when you uninstall that mod, all added files will be removed as well.
As i said you can select archive file as well. That is allowed thanks to 7zip program which is included with the mod manager.

Note:
*When you get prompted to select file or folder, since the double clicking opens the folder, to actually select it as a mod folder, click on it and press ENTER on the keyboard.

How it works:
Mod manager starts searching* for all game files it needs to install a mod correctly. It searches for:
- mod* folders as main mod data
- dlc folders
- *.xml files ( except input.xml ) for mod menus
Then it opens all *.txt files and input.xml file if provided and searches* for
- input.xml variables
- input.settings keys
- user.settings keys
When it detects any of correct mod data, depending on what file it found it does:
- copies mod* folders to <Game>\Mods folder
- copies dlc folders to <Game>\DLC folder
- copies *.xml files to <Game>\bin\config\r4game\user_input_matrix\pc folder
- if found input.xml variables, it opens input.xml file and adds all of the new variables right above <!-- [BASE_CharacterMovement] --> line. If input.xml is provided all existing xml variables are ignored adding only the new ones. Also if additional group is defined in provided input.xml, it will be added above PCInput group
- If found input.settings keys, it opens input.settings file and adds only the keys that are not already added before. Also it takes into the account in which context the keys are defined, so if the keys are not already installed, it adds them at the beginning of their respective context
- If found user.settings data, it opens user.settings file and adds new data at the beginning of the file

Notes:
* Folder structure shouldn't matter much in terms of where the mod author has put, txts, dlcs and so on. If it's there the manager is probably going to find it
**When searching for needed input text, it will ignore all regular text or explanation that might be included in the txt file, extracting only needed data


UNINSTALLING MODS:

How to use:
To uninstall one or more mods, simply select them in the list ( use Ctrl or Shift for multiple select, you can also drag select if you start in empty space ) and you can either click on Uninstall Mods, go to Mods/Uninstall Mods, right click on them and select Uninstall Selected Mods or press Delete button on the keyboard. Confirm, and it's done.

How it works:
It gets all selected mods and uninstalls them one by one, removing mod* folder from <Game>\Mods folder. Manager also deletes all added dlcs, mod menus and keys added by the mod. Note that in order to delete all those files as well you have install the mod trough this mod manager, otherwise it will just delete the mod* folder.


DISABLING MODS:

This feature allows you have mods disabled meaning, all the mod files will still be there only they will be completely ignored by the game.

How to use:
To disable one or more mods, simply select them in the list ( use Ctrl or Shift for multiple select, you can also drag select if you start in empty space ) and you can either click on Enable/Disable Mods, go to Mods/Enable/Disable Mods, right click on them and select Enable/Disable Selected Mods, press Ctrl+Q on the keyboard or you can simply double click on the mod.

How it works:
It renames mod* folder to ~mod* folder, making the game ignore it. It also disables all other files added by the mod, as it renames all dlc files (blobs, metadatas, textures etc) and adds them .disabled extention, renames all mod menu *.xml to *.xml.disabled and removes all keys from input.xml.


ENABLING MODS:

How to use:
Same way as disabling only select disabled mod first.

How it works:
It reverts everything disabler did, renames all disabled files back to normal, and restores input.xml keys


TOOLS:

Run The Game: runs the game directly from the manager ( Ctrl+G )
Run Script Merger: runs Script Merger directly from the manager. You will be prompted to selected Script Merger exe file you already haven't done so.( Ctrl+S )


SETTINGS CONFIGURATION:

- Change The Game path
- Change Script Merger path
- What happens when you want to install a mod which is already installed. Options: overwrite old | remove old first. Default: overwrite old
- Get prompted to run Script Merger after each install/uninstall. Options: yes | no. Default: yes. This option is for new users to remind them that they might need to merge the scripts or 2 mods might not work. Feel free to disable it if you don't need it.


GUI:

- Resizable
- Support right click context menu when right clicking on the list
- Output window
- Progress bar
- Buttons and menu bar for using all the features
- Hotkeys as shown in the menu bar next to feature name


OTHER FEATURES:

- Custom toolbar actions - run anything directly from the manager
- Load order display
- Icons are from the game
- Editing mod priorities on the fly
- Displaying everything the mod installed
- Mod Renaming
- . . .


Video of me presenting new features added by 0.4 BETA version


Video of me showing how to translate new 0.4 version


That's all for now when it comes to features. Some of the future plans include:
- Add feature to automatically download and install a mod when providing URL
- Add profiles
- Suggestions?

If you have any ideas, suggestion, feedback, bug reports etc feel free to contact me, :)

Thank you for using my Witcher 3 Mod Manager

stefan3372

_____________________________________________________________________________


Version 0.4 has been released. Read full changelog here:
https://www.nexusmods.com/witcher3/m...8%26v%3D&pUp=1
 
Last edited:
This is an amazingly advanced manager for such an early build, reminds me of Mod Organizer, in comparison to NMM, feeble methods,
I'm a great believer in the fact that the best Mod Managers, are the ones designed for a specific game engine, and this is already the best manager for W3 mods.
NMM is a manager of many games, but master of none, and it never will master any of them.

Having experience providing support for Mod Organizer, here's some things you can learn.
W3 already uses Mod Isolation, which was the main advantage MO offered, for Fallout/TES games
Look at what MO can do, different game, and in some ways (Adding the text file sections) this tool is much better.

Don't reinvent the wheel, when something does the job well already, (like Script Merger), you use that tool, making it easily accessible.
MO has the ability to add any tool the user wants, with a built in toolbar feature to run them all.

Mods come packaged in all sorts of messy ways, some W3 mods use the FoMod installer format, originally created by the FoMM (Fallout Mod Manager).
Both NMM, and MO can use these FoMod (Sometimes called NMM) installers to install multi-choice mod packages, so adding that ability is a bonus.

Manual browsing of archive contents, and the ability to rearrange them on the fly, to enable installation to succeed, no matter how badly the mod is packaged, is a must have.
Apart from the virtual file system, that was the most used MO feature, MO was great at autoinstalling well packaged mods.
Many mods have strange layouts inside the archives, they need rearranging to even work

Another thing that MO could do was use the NMM nxm protocol to enable use of the Nexus Mods Download with Manager button.
Tannin (The MO dev, who now works for Nexus Mods, making a new NMM), created a custom nxmhandler, to do this task.
NMM, and MO are both open source code, and another manager could also do the same.

It's the non standard cases, where automation will faI, giving the user the power to take control is needed then.

Existing features I think need changing.
User.Settings
Manager shouldn't add multiple identical code segments, whether the game ignores them, or not.
It's still messy, and not easy for the user to deal with manually, and as you already have stopped that exact thing for Input.Settings, you just need to use that code for both settings files.

Second one is the adding of merges to existing mods, it's never a good idea to edit mods on the fly, the mod should always be left in it's original state.
We already have a system for setiing merges using the mod0000_MergedFiles folder from Scriptr merger.
Now if the idea is to keep the merges separate from the Script Merger folder, and each other, then an incremental numbering system could be the answer
Something like this

mod0000_MergedFiles
mod0001_AutoLootMenu_FriendlyHUD_MergedFiles
mod0002_BooksPanelKeybind_FriendlyHUD_MergedFiles
mod0003_FriendlyHUD_MoreQuickSlots_MergedFiles

The current system means having to record every single merge, and preserve each intermediate stage with often merged mods, like Friendly HUD, Ghost Mode etc
Imagine if you have 30 mods, each adding multiple merges to a single mod, like Ghost Mod.
Then the 3rd, 11th, and 19th merged mods are uninstalled, requiring roll backs of all the merges, to ensure everythings applied correctly.
While keeping them separate, means a simple folder deletion is all thats required.

Those are just my initial thoughts, from watching the two videos, and a quick look at the tool with my existing mod setup.
Despite these minor details, the Manager is a huge game changing mod.
Great Start, and a mod that could rival Script Merger for best ever W3 tool, in time.
 
Last edited:
Thanks UhuruNUru for saying all that, everything you wrote are really good features that one mod manager should have, but it will take time before all of those get implemented, and some of them were already in plan for future.

As for your suggestions on existing features, user. settings i just thought there would be no need to do that extra work since game solves everything by it self exactly as it should, which gives faster executing code. I could add that check as well, i but i felt it was not needed.

I agree with changing the mods on the fly, but i just wanted to help people install them quickly. And you are right the more you use it the harder it'll get to unmerge or retrive earlier mod state. I'll do something about

Again thanks for believing in this project, and i'll keep working hard on it :)
 
Thank you so much!! Does it mean that a "hard" mod to install such as AMM has become damn simple? This is wonderfull!! Thank you so much !!!!
 
I have a serious question though. Is it possible to see coming with this Mod manager a way to overcome easily texture mod limits? For exemple with an automatic way to pack texture mods together? I ask because I never coocked or uncoocked mods. And I will finally play The Witcher 3 again with as many texture mods as possible so I planned to learn. But in the end, is such a mod manager capable of such a thing or are we noobs in modding condemned to try packing texture mods ourselves? lol

Thanks in advance for your enlightenment.
 
I didn't know ! Thank you ! I have been out of all this for a while now. I'll try it soon. Is it easy to use?
 
Yes. Extremely easy to use actually. Just run, locate the w3 exe and mod tools (it has a nice UI), click ‘recommended’ and click merge. Done.
But you might wanna carefully read the sticky post at the mod page ;)