Skip to content

EasyNPC ‐ Post‐Build Checker

focustense edited this page Oct 5, 2021 · 1 revision

EasyNPC includes a special launch setting for troubleshooting problems with a mod list and/or load order using EasyNPC. This is known as the Post-Build Report or Post-Build Checker. It is called "post-build" because it is designed to be run after the EasyNPC merge mod is built and all other mods and patches have been set up.

In other words, you should run the post-build checker just before you run the game itself. It is always safe to run - it will not change any records, or write any files unless you tell it to.

To run EasyNPC in post-build mode, add the -z or --post-build flag to the command-line arguments. If you followed the Getting Started guide, you should already have this set up as a separate executable (Mod Organizer) or mod toolbar button (Vortex). Simply launch this secondary executable or click the secondary button.

What to Expect

Post-Build Checker

Unlike EasyNPC "normal" mode, the Post-Build Checker is a very specific tool built for a specific purpose. It only has the one screen shown above. When running the post-build report:

  • You can't change EasyNPC settings, like the mod directory. If you need to do this, run EasyNPC in normal mode, and change the settings there, then exit and rerun in post-build mode. It will use the same settings.
  • You can't choose which plugins should be loaded. This is on purpose, because the specific set of mods and plugins that are active and enabled in your mod manager is part of what it needs to check. It is not checking its own mod, it is checking your current game configuration.
  • You can't use any of the other normal functions of EasyNPC such as editing profiles, building a new mod, etc.

What you can do is:

  • View the current status of your EasyNPC mod
  • View and in some cases resolve conflicts with other mods.

It typically takes up to 30 seconds to run the checks. However, a large number of conflicts may cause the checks to take longer, as it needs to do a second pass on conflicts by opening up the actual FaceGen files. As long as you are still seeing the progress animation, then it is still performing its checks. The faster the machine is, the faster the checks will complete.

What Gets Checked

The post-build checker looks at all of the following states:

Main Plugin State

EasyNPC's main plugin is called NPC Appearances Merged.esp.

  • If the plugin is not enabled, you'll need to exit, enable the plugin, and re-run the post-build checks. Most of the other checks won't have meaningful results unless the plugin is enabled.
  • If the plugin is not found at all, you may have forgotten to activate the EasyNPC mod in your mod manager.

Canonical Merge State

The output of EasyNPC is an entire mod, with a default name like "NPC Merge 2021-09-05". There should be exactly one of these mods found in your mod directory.

  • If no mod was found, then either your mod directory is configured incorrectly in EasyNPC, or you haven't enabled the mod in your mod manager.
  • If multiple EasyNPC mods were found, then you should disable all but one. They may conflict with each other, especially if one has a BSA that the others do not.

Dummy Plugin States

In order to stay below the maximum BSA size (2 GB), EasyNPC may have to generate several BSAs, and dummy plugins (ESL-flagged ESPs) in order for the game to load them. These plugins must all be present and enabled.

  • Yes, you really need the dummy plugins. It does not matter if Mod Organizer still shows them as checked in the Archives tab when the plugins are missing/disabled. The only BSA files that do not require dummy plugins are NPC Appearances Merged.bsa and NPC Appearances Merged - Textures.bsa. Every other BSA requires a dummy plugin.
  • If you deleted a dummy plugin corresponding to one of the BSAs, you can recreate it manually: simply create an empty mod in xEdit, add the ESL flag to its header, and save it with the same name as the BSA. Currently, EasyNPC does not have a built-in function to recreate a missing or deleted dummy plugin.
  • If the plugins are simply disabled, then enable them and rerun the checker.

Archive Files

Archive means BSA. This set of checks is simply the opposite of the dummy plugin checks above, i.e. each dummy plugin should have a matching archive.

  • If you extracted one of the BSAs and subsequently deleted the original BSA, and it is complaining about a dummy plugin without a matching BSA, then you can delete that plugin.

Archive Readability

The post-build checker will attempt to read all of the file names (though not actually the files themselves) stored in each archive, as a way of checking for potential archive corruption.

This check may produce a false positive if you have the archive open in some other program, such as Bethesda Archive Extractor or BSA Browser. Make sure you don't have the archive open in any other program before running the post-build checks.

If an unreadable archive is reported, and you don't have it open in another program, then either the archive was never written correctly (e.g. due to closing EasyNPC before the build is finished) or it became corrupted afterward due to a problem with the physical disk or possibly due to being edited by another program.

Unfortunately, there is no quick fix for an unreadable archive. If you see this error, you will have to create another build from EasyNPC.

FaceGen Conflicts

These are where most users run into issues. Just as NPC mods can conflict with each other, NPC mods that have been left enabled along with EasyNPC can conflict with the EasyNPC mod.

The app provides a workaround for resolving these conflicts. However, 9 times out of 10, said conflicts are a result of not following the instructions (see the last step). At the risk of being repetitive, since the question has to be answered so often:

  • You need to disable other NPC overhauls after enabling the EasyNPC mod.
  • You need to disable other NPC overhauls after enabling the EasyNPC mod.
  • You need to disable other NPC overhauls after enabling the EasyNPC mod.

The most common cause of FaceGen conflicts with EasyNPC, by an extremely wide margin, is other NPC mods that are still enabled and provide FaceGen files as loose files, which automatically take priority over EasyNPC's BSA files regardless of load order (this is just how Bethesda games are designed). Leaving any of those mods enabled will reliably create FaceGen conflicts.

If you can't disable an NPC overhaul because NPC Appearances Merged.esp depends on it as a master, then you most likely made a mistake when setting up your profile. Any time you select a plugin as the Default Plugin, that plugin will become a master dependency for the merge. Only the Face Plugin settings are converted to standalone records, and only if they are not also used as the Default Plugin for any NPCs. The preview screen which shows up before starting the build should have clearly indicated which plugins were going to be masters.

Very rarely, there may be bugs causing masters to appear unexpectedly. Somewhat less rarely, there may be a mod which you intended to be a master, such as BUVARP or Auri, which incidentally contains loose FaceGen files. If, and only if, one of these exceptional cases applies to you, then you can click on the "Apply workaround" button (if it is showing) to extract these conflicting files from the EasyNPC BSA and make them loose. This will allow EasyNPC to take priority again for these NPCs, resolving the conflict.

Vortex note: Vortex handles changes to a mod structure rather poorly. If you've applied the workaround when running from Vortex, you will probably need to disable the EasyNPC mod, restart Vortex, re-enable the EasyNPC mod, update the file priorities so that EasyNPC takes precedence, and deploy files again. This is a Vortex problem, and there does not appear to be any way to simplify the process.

Face Tint Conflicts

This is a simple check that EasyNPC runs to make sure that the face tints (i.e. textures\actors\character\facegendata\facetint\...) for each NPC come from the same mod as the facegen head/mesh (i.e. meshes\actors\character\facegendata\facegeom\...).

It's not necessarily an error if these don't match, and won't cause severe issues like crashes or blackface. However, it is unusual, may look strange, and often indicates a conflict from another mod. You can ignore these, or apply the same workaround used for FaceGen conflicts if available.

Afterward

It is recommended to re-run the post-build checker after fixing any issues, including the workarounds performed by EasyNPC itself for resolving file conflicts. Because of the way mods are consumed - this applies both to Vortex's hard-linking system and Mod Organizer's virtual file system - it is actually not possible for EasyNPC to verify the outcome of its own workarounds without manually restarting the app.

If all checks are green, then the EasyNPC mod is configured correctly and doesn't have any conflicts.

Please note that the post-build checker only checks NPCs that are actually edited by EasyNPC. It will not find conflicts between unrelated mods, unless they also conflict with EasyNPC.

Clone this wiki locally