Disclaimer -- I do not have nor ever had any affiliation with Beamdog or BioWare. What follows is in no way official. It is just a collection of experiences from the members of Neverwinter community and my own.What is the userpatch.ini?
Userpatch.ini is an initialization file in plain text format that tells NWN.exe to load a set of haks before a module is loaded. This is done for every module, similar to the override folder. In 1.69, this file was called nwnpatch.ini. With EE you can still use nwnpatch.ini but it does not appear to load any GUI elements whereas userpatch.ini will do so.Why should I care about userpatch.ini?
Because it is a clean and easy way to upgrade the visual appearance of the game. Don't like the standard goblins? No problem, load up Cervantes' Creature Compilation and now all goblins look a lot better (IMHO). Don't like the astroturf-looking fake grass in the rural tileset? Load up BioRural from Zwerkules or Toro's Expanded Rural and get a much, much better looking rural tileset (IMHO). Another consideration is that there is performance boost from preloading haks rather than filling up the override with individual files. In v1.69, having too many files in the override became an issue. This might be fixed in EE or might now.Awesome! How do I set it up?
Create a text file using your favorite text editor (e.g. Notepad) in your Neverwinter Nights directory (e.g. \My Documents\ Neverwinter Nights) and save it as "userpatch.ini" Then add the following lines:
Where "XYZ" is a particular hak you wish to pre-load. Note that there is a blank line between [Patch] and the first PatchFile entry and between the first and subsequent PatchFile entries.
Note that the order is important. The first hak is loaded first, the second is loaded second and so on. The second hak overrides the first, the third overrides the second, and so on. This is important to know because some haks have some overlap with others. So if you like LoW's ghouls better than the one in Cervante's hak, then make sure you load Cervantes' hak before you load Low's Ghoul hak.Updating your nwn.ini file
In order for NWN to know that it has a userpatch.ini to use, you must first change your nwn.ini file. Find the "[Alias] section and copy & paste the path to the hak files and rename "Hak=" to "Patch=":
Note that your actual path may look different from this. Just ensure that "Patch" points to the exact same place as "Hak" does.Are there any limits?
Yes! In NWN v1.69 (might be different in EE) there is a limit of 56 haks that can loaded in total -- this includes all the haks in the module itself. There does not however, appear to be a limit in the size of an individual hak itself.Are there any bugs or issues with this method?
In 1.69 (not yet tested in EE), all haks had to have significantly different names. According to PsteMarie, “x4_females” were originally named “x4_anatomy1,” “x4_anatomy2,” and “x4_anatomy3” respectively; it appeared that only “x4_anatomy3” was loading. This would seem to indicate some sort of hardcoded value that the engine limits the number of strings the engine reads from the filenames in patch.ini. If the files are the same name up to this string value, only the topmost file is in the hierarchy is loaded."What about the override folder? Is it obsolete?
It just might be... I'll leave it to others to make a case for still using the override folder.Warning for Builders!!!
It should be obvious, but it's worth saying -- If you build your module with userpatch haks instead of including haks in the module, then that content will NOT appear when you distribute your module. Not only that, but it will load in the toolset without warning the user that a particular hak is required. My advice is to include all haks in your module that you need rather than counting on the user loading them in the userpatch.There is no patch directory! Do I have to create one?
No you do not. In 1.69 you either had to copy your haks into the patch directory or change the nwn.ini file to have the patch point to the hak directory. In EE, the nwn.ini file defaults to pointing patches to the hak directory.Credits & Thanks
Thanks to @virusman
, Dagesh, @Pstemarie
, & Bannor Bloodfist for contributing to the original discovery and discussion on the old social.bioware boards. Thanks also to @Symphony
for telling us to use userpatch.ini instead of nwnpatch.ini and to @Proleric
for discovering that userpatch.ini loads UI elements whereas nwnpatch.ini does not.