A lightweight utility capable of deleting NetImmerse Override data from SKSE co-save files, thus decreasing both the sizes of those files and Skyrim save and load times.

Description. What kind of NIOverride data is stored in SKSE co-save file

Any NetImmerse Override modifications are saved directly to the SKSE co-save file every time one saves their game. Of course, NIOverride does nothing on its own and the amount and kind of data stored in SKSE save file is closely linked to the mods using NetImmerse Override.

RaceMenu is the most popular mod which utilizes NIOverride. In fact, NIOverride was designed by expired6978 specifically for RaceMenu to extend its capabilities. RaceMenu uses SKSE co-save files to store the overlays, expression definitions and all non-vanilla sliders settings and colours of your character or any NPCs edited directly by other mods.

XP32 Maximum Skeleton Extended (XPMSE) is yet another known mod which uses NIOverride to store all weapon styles, positions, rotations and scales in SKSE save file.

The NIOverride modifications mentioned above can be applied not only to your character, but also to any other NPC in game. Some of RaceMenu and most of XPMSE sliders can by accessed by Tattoo menu provided by Extensible Follower Framework (EFF). SlaveTats also allows you to manually apply overlays on NPCs.

All right, so why can SKSE co-save grow to such a tremendous size since any NIOverride modifications seem to be controlled by the user?

Firstly, it's because not all data stored in a save comes directly from the user. XPMSE itself needs to keep the skeletons data of the NPCs encountered during play through, from "at least 15 to 25 cells" (according to Groovtama, the creator of XPMSE; see this post). That data, however, is very lightweight and, although it may significantly increase the size of the save in the end, it should not be considered a bloat.

Secondly, it's due to the fact that the data may actually come from user when they decide to use entirely optional features of some popular mods, for example, XPMSE's weapon style randomiser. This feature does greatly improve Skyrim's immersion but it takes a toll on the final size of SKSE co-save because it needs to store the styles of all the NPCs you have encountered. Of course, the more NPCs you add to your game, the more data will be produced.

Moreover, the more mods that can alter NPC's appearance without your supervision you have (for example, Blush When Aroused with enabled NPCs option), then again, the more data will have to be kept in the SKSE save.

Side effects of too large SKSE co-save file

As far as my game and experience are concerned, a large SKSE co-save has the the significant influence on duration of Skyrim saving and loading process (about 2 seconds longer with 1 MB SKSE save file than with 20 KB file, on SSD). It neither destabilises Skyrim nor it causes it to crash more often. More data in SKSE save file simply means any IO operations will last longer.

The remedy

NetImmerse Override Cleaner will help you to reduce the size of your SKSE co-save files by deleting either all of the NIOverride data or the data of characters you do not wish to keep (see Excluded Actors for more info).

Keep in mind that data you delete will eventually come back and your save's size will grow once more after you play long enough and re-encounter some of the NPCs.

That is why it is recommended to clean your SKSE co-save files on regular basis, for example, when you begin to feel that it takes more and more time to save the game.

Using the tool

It's very straightforward. There are only two buttons, which is shown in the screenshots. The one button is for loading a desired SKSE co-save file and the second one is for cleaning and saving the file. A backup of original file is created automatically (with .bak extension).

Excluded actors list

You may enter here the reference IDs (refID) of all characters whose data you wish to preserve. Any characters who are not included in this list will have their NetImmerse Override data erased. See Description for more info about data that is stored by NIOverride in saves.

If this list is empty, the entire NetImmerse Override section will be deleted from SKSE co-save file.

Therefore, it is always recommended to keep at least your character's RefID (00000014). Otherwise the only way to preserve your character's data is by saving preset in RaceMenu BEFORE cleaning process and loading it AFTERWARDS.

This feature might be useful if you have a fixed number of NPCs manually edited by mods like EFF, SlaveTats, etc. and you really don't want to lose these NPCs' appearances.

IDs may be separated by a comma, space or new line. Actors whose IDs were not found in the SKSE save file will be omitted.

Ignoring mods load order

ID of every Skyrim object is strictly connected to the position of that object's parent plugin (ESP/ESM) in the mod load order. While the inner ID (the second, third and fourth byte) is always the same and unique within one plugin, its very first byte (the first two digits) indicates what is the position of the mod in the load order. So, for example, if you have a NPC defined by a mod which is sixth in the order and that NPC's ID is 010203, its in-game ID will be 06010203. If you move the mod to the tenth position, the next time you load the game the object's ID will be 0A010203.

This may be problematic if you, let's assume, want to create a rich list of excluded NPCs but you play different characters with different mods or have just sorted the mods with LOOT and some of the mods positions have changed. In order to make sure than the one particular actor is always preserved during cleaning, you would have to change their ID accordingly to the new position of the actor's parent plugin.

However, if you check the Ignore mods load order checkbox, the first byte of every excluded actor will be omitted. Therefore, there is a theoretical chance of more than one actor being excluded, but it's very unlikely to happen.

Note that you still must enter a valid 4 bytes long (8 digits) number. The first byte can be any, though (ex: 00).

Forewarned is forearmed

VirusTotal scan VirusTotal scan as a proof of my heart being in the right place:

Permissions