This is an important topic for anyone doing any kind of content creation, using a module hakpak or override. Therefore a top level topic!

The NWN game engine has an amazing set of ways to have content overriden. This means you can provide a module with an updated "Magic Missile" spell script that does something completely different. You can also provide in a hakpak file an entirely new spell icon, and even alter the text describing the spell.

However what if someone includes a magic missile spell script in their override folder? What happens if a game is loaded from a save file? Read on for more...

Order of Hakpacks

A note on the order of hakpacks and duplicate files; the highest (first loaded) hakpack takes precedence. In this example the files in "potsc_top" are loaded first. Clicking "Check for Conflicts" shows these problem conflicts, in this case 4 x 2da files are in 2 separate hakpacks.

It is worthwhile sorting hakpacks so only one file of a particular name exists. This is especially relevant for data files such as 2da files, which you might find the toolset getting upset if you used an earlier 2da (such as for creature appearances) which gets overriden by a higher priority hakpack later on in development.

DDS and TGA Load Order

While DDS files should override TGA files when present, there are some oddities due to how the game loads textures in general. The actual order is different to the standard Content Order below but only for these two file types.

What does this mean? Basically that if you, for instance, put "c_aribeth.tga" into the override folder, it'd actually be the one used compared to "" inside the default game BIFs, even though usually DDS has to be there to override DDS. This is most common an issue for item icons since TGA files basically tell the game "an icon exists" as frustrating as that is.

  • DDS in override (and development, and possibly Steam Workshop)
  • TGA in override (and development, and possibly Steam Workshop)
  • DDS in nwsync
  • TGA in nwsync
  • DDS in ERF (ie hakpacks)
  • TGA in ERF (ie hakpacks)
  • DDS in BIF
  • TGA in BIF

KTX files, used on iOS, I'm not sure how they fit in this load order.

Content Order

Highest to Lowest. Something in a higher option always overrides the lower option.

Most folders support any files being loaded in them, but it is better to stick to the general conventions.

Location NameExample NWN:EE location (Windows/Steam)Contents LoadedNotes
1User PortraitsDocuments\Neverwinter Nights\portraitsAll content file types except .modUsually stores .tga and .dds portrait files only
2Install Portraitssteamapps\common\Neverwinter Nights\data\prtAll content file types except .modUsually stores .tga and .dds portrait files only
3User Vault

Documents\Neverwinter Nights\localvault

Documents\Neverwinter Nights\dmvault

Documents\Neverwinter Nights\servervault

All content file types except .modUsually stores .bic files only
4Install Vaultsteamapps\common\Neverwinter Nights\data\lcvAll content file types except .mod

Usually stores .bic files only

"lvc" = local character vault

5User Development FolderDocuments\Neverwinter Nights\developmentAll content file types except .mod

Development folder is also refreshed actively in the game and is for development purposes only (be careful if using on live servers, and NOT for distributed content)

The folder does not presently load in the toolset

Development folder now loads in toolset as of a more recent NWN:EE update. (which?)

6NWSync ManifestDocuments\Neverwinter Nights\nwsyncAll content file types except .mod
7User HakpackDocuments\Neverwinter Nights\hak.hak files (and their contents)

A further page on what can go into a hakpack file will be created later

Note: Some things are loaded at game inception (not module load) so cannot be overriden by hakpacks regardless (these will be noted where possible).

See above notes on the hakpack ordering and how it affects file loading of duplicated files.

8Install Hakpacksteamapps\common\Neverwinter Nights\data\hk.hak files (and their contents)Mostly this is for Premium Module content, user made stuff shouldn't go here anyway
9Current Game

The current game in memory at the moment of being played, eg; a creatures instanced health, effects, world position, in an area.
10Save GameDocuments\Neverwinter Nights\saves\NAME OF SAVE.sav (and their contents)

For MOD: The .sav file is a copy of the entire .mod file with area changes, ongoing stuff etc. - yes you can load the .sav on another PC without the original .mod

For NWM: This essentially is a copy of anything altered in the game. EG: area files, creatures instances (like health, effects) and all sorts of others. It loads this and then anything missing is taken from the .mod files.

Think of it as a layer on top of the original .mod file. It allowed Bioware to do (most) patching of the modules without users losing their save progress. A shame it wasn't allowed for user modules!


Documents\Neverwinter Nights\modules

steamapps\common\Neverwinter Nights\data\nwm

steamapps\common\Neverwinter Nights\data\mod

.mod (and their contents)

Like hakpacks a further page will be written on what can be included in a .mod file.

"nwm" is essentially .mod but "official modules".

Loaded only when a module is selected to be loaded

12User PatchUser specified see tutorial.bif or .hak files and their contentsSee tutorial
13User OverrideDocuments\Neverwinter Nights\overrideAll content file types except .mod

Used for overriding the games default files, eg replacing a default placeable model, 2da or spell script

Loaded at game startup pre-module load if applicable

14Install Overridesteamapps\common\Neverwinter Nights\ovrAll content file types except .mod
15User AmbientDocuments\Neverwinter Nights\ambientAll content file types except .mod.wav files, ambient sound files usually
16User MusicDocuments\Neverwinter Nights\musicAll content file types except .mod.bmu files, music files usually
17Install Ambientsteamapps\common\Neverwinter Nights\data\ambAll content file types except .mod.wav files, ambient sound files usually
18Install Musicsteamapps\common\Neverwinter Nights\data\musAll content file types except .mod.bmu files, music files usually
19Install Patchsteamapps\common\Neverwinter Nights\data.bif files and their contentsBase game content but for the ones marked _patch
20Texture Packsteamapps\common\Neverwinter Nights\data\txpk.erf files and their contentsBase game content but dependant on "texture pack" values
21Keytablesteamapps\common\Neverwinter Nights\data.bif files and their contentsBase game content bif files


Movies are loaded specially, one off, and not kept in game memory. The order is User directory then Install directory.

TLK Files

TLK files can be placed into HAK files and use the same priority system as all other overridable files. This means you can have one TLK inside each HAK, however only 1 will be used for the module, regardless.

NOTE: It is possible to override dialog.tlk (the game's primary TLK file) with a custom dialog.tlk by placing your custom file into the user /override folder, making any changes made available during character generation AND for every module you play.

Priority From Code

This shows the exact ordering - that was made human readable above.

// Resource Priority is determined by category. Adding key tables to ResMan will fit
// them in the first free priority slot within the category.
// Key tables within the same priority category have no guaranteed ordering.
// MAXINT is the top of the stack, 0 the bottom.
#define RESMAN_PRIORITY_SPACING                 1000000


#define RESMAN_PRIORITY_TEMP                    (99 * RESMAN_PRIORITY_SPACING)




// Resource Images override currentgame/savegame too. Strange corner case.
#define RESMAN_PRIORITY_RIM                     (60 * RESMAN_PRIORITY_SPACING)

// Manifests: NWSync.

// hak resources.

// Currentgame/Savegame

// NWSync Manifets attached to savegames need to sit beneath savegame.
// This is a reversion of how HAK functions; however, it is arguably the
// better priority order. It is also needed because savegame data needs
// to override data in nwsync, such as module.ifo.

// Module files: there can only be one.
// NB: nwsync manifests also contain module data and thus would override
// haks and override/. That's intended.

// Override resources. Canonically below hak.

// Music and ambients: Allow overriding in modules if need be.
// (requested by milos, blame him.) -niv

// Core game content

  • No labels