TES4Edit Cleaning Guide

From the Oblivion ConstructionSet Wiki
Revision as of 18:37, 9 June 2011 by imported>Thomas Kaira (→‎List of Mods You Should NOT Clean)
Jump to navigation Jump to search

Introduction

This tutorial is designed to teach modders and mod users how to use TES4Edit to clean mods. Cleaning mods is critical to maintaining compatibility in the modding community and for creating a stable modded game environment. However, TES4Edit is not a simple utility and care must be taken not to damage mods in the process. This tutorial will explain what you need to know in order to clean mods correctly.

This guide is split into two sections. The first section is meant to convey general knowledge and understanding about the entire cleaning process. The second section contains the *actual* instructions on how to clean your mods. You could skip to the second section but it is highly advisable that you read this entire document from start to finish in order to greatly improve your success rate in the cleaning endeavor.

There is also a Glossary at the end of this guide. Several terms used in this guide are community-wide terms, but a number of the other terms have been invented to help explain things. You may wish to skip to the glossary now to get a rough idea of key terms you will encounter.

Lastly, this guide and the cleaning process in general may be intimidating, but cleaning is actually not that hard once you have some understanding. Devote an hour to reading this guide and you'll be well on your way to have a squeaky-clean mod list and a fun, more-stable game environment.

Please Note: Miaximus has written a fantastic guide to using FO3Edit, which is actually an identical program to TES4Edit so most of the stuff in the guide can be applied to Oblivion. If you wish to learn more about actually editing mods using TES4Edit, then I highly recommend reading his guide! The link is:

http://fallout3nexus.com/downloads/file.php?id=8629

Section #1: General Knowledge and Theory Behind Cleaning

Section #1 has three parts:

  1. Why Clean?: This part explains why many mods need to be cleaned
  2. What is Cleaning?: This part explains what it means to ‘clean’ a mod
  3. How to Clean: This part explains the theory about how to clean your mods properly and safely

Please read Section #1 entirely at least once before attempting to clean your mods. Throughout this section, Key Concepts will be given. These are big picture ideas that you need to learn and apply in order to successfully clean your mods. Again, you must understand these concepts or you are likely to get into trouble.

Part #1: Why Clean?

Short answer: Because some mods have dirty edits and/or wild edits (these terms will be explained momentarily) which cause bad things to happen, ranging from incorrect game settings, disabling content, broken quests, and crashing to desktop (CTD). If you run a lot of mods (a subjective amount but perhaps 100 or more) the chance of bad edits causing problems rises exponentially.

Longer answer: When a mod is created, there are two types of bad edits that can occur: dirty/unnecessary edits and wild/undesirable edits. Each type will now be explained.

Type #1: Dirty/Unnecessary Edits

Dirty edits happen two ways. First, a mod edits something that is later changed back to vanilla but the edit is not deleted. The initial edit could have been an accident or a design decision that was later rejected. Second, dirty edits can be due to Construction Set (CS) bugs. Both of these edit types are unnecessary edits and get stored in the mod and do not in any way add to the purpose of the mod and have become known as dirty edits.

For the record, it should also be stated that just because a mod has some dirty edits, this is not always the mod creator’s fault. The CS is known to produce certain dirty edits. The larger the mod is and the more cells it edits, the more CS bugs can occur. Then again, certain dirty edits are due to modder lack of skill, but as just stated, other dirty edits due to CS bugs can happen to the best modders. Vorians says:

The majority of dirty edits removed by TES4Edit automatically exist in the .ESP due to the bugs in the CS. The more cells an .ESP edits, the more dirty records there are likely to be.

Mart's Monster Mod - City Defences.ESP edits cells in every city (except Kvatch and the Imperial City), all around the wall tops, both in the city worldspaces and in the main Tamriel worldspace. That's a lot of edited cells, and thus the reason for so many dirty records. And such dirty records exist through no fault of the mod creator!
Example 1: Dirty Edits in Quest mod overwriting Sneak mod
To illustrate a dirty edit due to altering something but reverting it back to vanilla, say you have a quest mod loaded in the middle of your load order after some other mod that alters how sneaking works in Oblivion. Say the quest mod creator originally was going to change the sneak elements in Oblivion to fit his quest mod. However, after editing the settings, the creator decided the original unmodified (called ‘vanilla’) sneak settings were fine, so he changed them back to the original values. In this case, the earlier loaded sneak mod that changed the sneak elements will be overridden by the quest mod, even though the true intent of the mod author was to not alter the sneak settings and the sneak edits in the quest mod were changed back to Oblivion values.
Incidentally, the correct thing the quest mod creator should have done was to actually delete the sneak edits completely from his mod rather than simply change them back to Oblivion values.
Hopefully you can see that the end result of the above example is that your super-cool sneak mod that changes all sneak attack multipliers to 1,000 times more damage will be overridden by the quest mod and you’ll get lame vanilla sneak attack multipliers. This type of dirty edit is fairly mild in its negative effect, but it still causes problems.
The solution is to clean the quest mod. By cleaning the quest mod, the sneak attack changes will be completely removed so that now the earlier sneak mod will be able to change the settings without the later quest mod overriding it.

Type #2: Wild/Undesirable Edits

Wild edits are edits that a mod creator either accidentally or intentionally makes but are due to lack of knowledge in how to properly mod and actually cause problems and are therefore undesirable. Wild edits are called such partly because they appear haphazard and look very wacky when scrutinized by the most skilled modders.

One of the most common wild edits is when a mod modifies a container and puts some loot in it like 10,000 gold. However, they do this incorrectly so that they accidentally make it so 200 containers around Tamriel all now contain 10,000 gold. If you read the description of the mod, it might say, "Adds 10,000 gold to a container in the Imperial City to help new players." Clearly, the intent was to only edit one container, so this would be a wild edit, and need manual fixing.

To Prevent Crash-on-Exit

Another reason to clean mods is to prevent the common Crash-on-Exit many users experience. With new versions of TES4Edit, an extra cleaning step (discussed in the actual instructions below) allows you to undelete and then disable vanilla references that certain mods remove. This can be hard to understand at first, but it's not good to have vanilla references deleted because other mods that rely on them will get messed up and cause the Crash-on-Exit problem.

Arthmoor further explains:

[When running undelete and disable references] the reference is undeleted, then marked as initially disabled and set to -30,000 Z units for its vertical position. This removes it from view in the CS and also removes the possibility of it being held for rendering by the engine. Newer versions of TES4Edit also add a flag to set these items to the opposite enable state of the player to help ensure the items get disabled properly.

The main purpose is to help reduce Crash-on-Exit since deleted vanilla items lead to that if other mods later try to modify what earlier mods have deleted.

Why Clean? Summary

Both dirty edits and wild edits are problems because Oblivion uses the override system which means that if a certain mod changes a specific game element (game setting, stats, characters, towns, buildings, wilderness, etc.), that mod will override changes to the same game element that any prior mods make. Whatever mod loads last, that mod's settings will take precedence over all prior mods that alter the same settings.

Deleted vanilla references can cause the Crash-on-Exit problem so using the "undelete and disable references" cleaning function is also important.

Please note: this description of Why Clean? is a non-technical description and there is much more to say about it, but for our purposes we only need to know that dirty and wild edits are nasty creatures that need to be vanquished by the shining light of truth that is mod cleaning, poetically speaking.

Part #2: What is Cleaning?

Cleaning very broadly defined is a process that analyzes all the changes a mod makes and determines which edits are actually supposed to be in the mod.

There are two ways to clean: manual and automated. Manual cleaning is used to remove wild edits and automated cleaning is used to remove dirty edits. This guide differentiates between undesirable edits and unnecessary edits to help explain these concepts. Undesirable edits are wild edits and require manual cleaning. Unnecessary edits are dirty edits and can be removed using automated cleaning.

Here is a simple summary to help explain:

  • Dirty Edit = Unnecessary Edit --> Automated Cleaning
  • Wild Edit = Undesirable Edit --> Manual Cleaning

This guide is only giving detailed instructions for automated cleaning. However, the next section will give some broad information about manual cleaning in order to increase your understanding of both manual and automated cleaning.

Method 1: Manual Cleaning

It should be said that manual cleaning is an advanced technique that most users don’t have the knowledge or need to engage in most of the time. Automated cleaning is effective enough for removing dirty edits from a mod, and most users will just have to hope the mods they use don't contain too many wild edits. (See Tips on How to Avoid Dirty/Wild-edit Filled Mods for more information.)

There may be times you want to use a mod even though you know it has wild edits (someone told you, you looked at it yourself in TES4Edit, you divined it). This is where manually editing becomes very important. Manually cleaning is required here because the mod contains edits that are undesirable based on a human judgment call. Automated cleaning will not remove these edits. It's not possible for a computer program to determine what the original author’s intent was and what is desirable. To quote the Governator from Terminator 3: ‘I am a machine, desire is irrelevant.’

Let us hear from one expert, Vorians (display name is already in use) regarding manual cleaning:

The other type of dirty records - those which TES4Edit cannot automatically detect and remove (but will color-code them so you can track them down) are typically accidental edits by the mod creator, for example unintentionally clicking on a rock and moving it a tiny amount when they meant to click on something else. Don't try to manually fix these without first gaining some good understanding of both how TES4Edit works and what the purpose and scope of a mod is - you need to be able to tell whether such an edit is a mistake, or in fact intentional.

It's all a matter of understanding what the mod is MEANT to do, to ensure you can tell a valid edit from a [wild] edit.

Vorians continues and gives an example:

Example #2: Super Sword of Slaying Wild Edit
A mod changes the Silver Sword so that it is now the Super Sword of Slaying, and adds many powerful abilities to the weapon, then places it once at the bottom of a new dungeon. Every single placement of the Silver Sword in the game, including those by any other mod, will now be the Super Sword of Slaying.
Changing the Form ID from 00###### to 01###### and updating the single valid reference will ensure that Silver Swords are all Silver Swords, while the one and only Super Sword of Slaying is still the Super Sword of Slaying. [If you don’t understand this Form ID talk, you aren't ready for manual cleaning so don’t worry and just stick with automated cleaning.]

Again regarding undesirable wild edits, let’s quote another expert, Arthmoor:

TES4Edit will highlight in bright yellow wild edits, but it won't automatically remove them as they aren't identical to masters, but these are edits that should not be made. They're fairly obvious [to people skilled with TES4Edit] with their bright yellow highlights. Knowing what a location should reasonably edit is key to removing these safely [manually].

In conclusion, regarding manual editing, the only way to remove wild edits would be to load the mod in TES4Edit and to have enough knowledge to identify edits that are spurious and do not support the true purpose and scope of the mod. Before engaging in manual editing, you should understand the purpose of the mod and also have an understanding of how every edit the mod makes affects the game.

Method 2: Automated Cleaning

Automated cleaning analyzes every edit a mod makes and compares each one to the default Oblivion environment (by comparing the mod to Oblivion.esm and any other master the mod explicitly relies upon) and removes any edits in that mod that are identical to vanilla Oblivion and the other masters loaded. Again, the purpose of automated cleaning is to make sure no dirty/unnecessary edits exist in a mod. Remember, wild/undesirable edits can still exist, but at least the mod will be cleaner than previously and possibly entirely clean.

An Example of a Mod with Both Dirty and Wild Edits

Just to illustrate how some mods need both automatic and manual cleaning, let's look at a real mod. In defense of the mod, it was one of the first ones released for Oblivion and we didn't have as powerful tools back then.

Example #3: Old Dungeon mod Ruins of Tarnesia
Ruins of Tarnesia is a mod that adds a four level dungeon to Oblivion. It's simple and nice. However, 70% (4,440 edits out of 6,304) of the edits it makes are dirty edits because they are absolutely identical to vanilla Oblivion. This means it will probably override a lot of other modded content loaded before it, especially if you have many mods loaded before it.
How all these dirty edits occurred... who knows. Let's blame it on an early bug-filled version of the Construction Set. Regardless, we need to load this mod up in TES4Edit and remove all the dirty edits. We should also note the file size of the cleaned .esp is more than 15 times less (it was over 3,000kb and is now just over 200kb).
On top of the huge number of dirty edits, Ruins of Tarnesia also makes a large number of wild edits. It has many examples like the prior container example where its goal is to modify only the containers in the Tarnesia dungeon but actually modifies all containers across Tamriel. It's not just containers it does this with. Remember, automated cleaning will not detect and delete these incorrect changes in Ruins of Tarnesia because technically the edits differ from vanilla Oblivion and are therefore not considered unnecessary (identical to master Oblivion.esm).
When you encounter mods with both dirty and wild edits, it's easiest to remove the dirty edits first using the automated method. Next, remove the wild edits manually. But in Ruins of Tarnesia's case, sadly, most users just shouldn’t use this mod given how many wild edits are in it.

Part #3: How to Clean

The number one most important thing you must know before cleaning a mod is what other mods the mod to be cleaned depends upon, which is not always obvious. This will be further explained, but here’s the key concept:

Key Concept #1: Automated cleaning requires knowledge of exactly which other mods a certain mod relies upon (is dependant upon), both explicitly and implicitly.

Vorians repeats many times that when cleaning the user must be sure they are ‘doing it right.’ What does this mean? Key concept #2 tells us:

Key Concept #2: The very essence of ‘doing it right’ is to make sure you load into TES4Edit all files (.esp and/or .esm), in the right load order, that the mod your cleaning relies upon, both explicitly and implicitly.

Four terms will be used now to help explain the details: explicit dependency, implicit dependency, simple .esp, and complex .esp.

An explicit dependency is very easy to discern because you can easily check what files it relies upon in Wrye Bash by looking on the right-hand side where Masters are listed. Moreover, TES4Edit will automatically load any explicit dependencies (can be either .esm or .esp files) when you select a mod with explicit dependencies. The only time it won’t do this is if you don’t have a mod installed that the other mod is dependent upon. This would be a major mistake you’ve made. For instance, if you download a patch to fix landscape issues with, say, Verona House Bloodlines, you better have Verona House Bloodlines installed!
An implicit dependency is more tricky because you won’t see the required files listed in Wrye Bash. The most common implicit dependency is when dealing with the many landscape patches by Vorians and some by Arthmoor. The only way to know what implicit dependencies a mod has is to know what the mod does, which can discovered by reading its readme usually. Here again is why understanding what a mod does is crucial. Specifically, you must understand which mods a patch mod is designed to patch!
A simple .esp is one that relies solely on Oblivion.esm and possibly a master. esm from the mod itself, which would be distributed with the mod itself and be obvious. A simple mod has only explicit dependencies, so TES4Edit will always load the necessary master files when loading the mod.
A complex .esp is one that mods another mod and is meant to be used with one or more other mods. This can also be called a ‘patch’ mod. A complex .esp has both explicit and implicit dependencies, so you must by yourself determine and load the implicit dependencies into TES4Edit.

Complex .esp’s can be broken down into two more types:

A basic complex .esp usually edits two other mods in a minor way. Landscape patch mods are the most common examples of this.
An advanced complex .esp must attempt to patch many mods together in a very in-depth way.

The perfect example of an advanced complex group of .esps is FCOM. It is not recommended to clean FCOM not because it *can’t* be safely cleaned but because to safely clean it you need a LOT of knowledge about the inner workings of FCOM, and few people other than dev_akm are qualified here.

Moreover, dev_akm cleans his stuff well enough already. To prove it dev_akm says:

All recent versions of FCOM were created almost completely with TES4Edit to begin with, so every record override includes some important change to one of the masters. You may find a very small number of override records that do not actually change anything in the master, but this usually only happens in cases where the master was later updated to match a change first made in the FCOM plugins (this happens a lot).

So everyone should stop worrying about FCOM and just not clean it. Instead, you should worry about nuclear war (or the absence of it?) or something.

Example #4: A simple .esp – KvatchRebuilt.esp
Kvatch Rebuilt.esp is a simple .esp because it depends only upon Oblivion.esm and KvatchRebuilt.esm. You would be able to tick KvatchRebuilt.esp in TES4Edit only and have TES4Edit load both the aforementioned .esm files properly, and cleaning would be perfectly safe and simple.

Let us quote Vorians regarding cleaning patch files. His note has been verified as correct by ElminsterEU, the creator of TES4Edit.

It should be perfectly safe to clean a patch as long as you ensure that every ESP that the patch relates to is also loaded in TES4Edit. And I mean all of them, not just those which have to be loaded because the patch is dependent on them. So for example one of my Unique Landscape compatibility patches is only [explicitly] dependent on Oblivion.esm but is for one Unique Landscape mod and one other mod. You must load into TES4Edit the Unique Landscape mod and that other mod (in the correct load order!) before attempting to clean the patch.
Example #5: A complex mod – Landscape patches like the Baddy patch for Entius Gorge
Here is an actual example of what Vorians means using his Unique Landscape compatibility patch for Baddy as an example:
This patch is dependent on Baddy.esp, so if you wanted to auto-clean this ESP, TES4Edit will load Baddy.esp when you load Baddy-EntiusGorge patch.esp. It won't however load xulEntiusGorge.esp as the patch is not [explicitly] dependent on the Unique Landscape ESP. [So the user MUST be sure to tick the UL ESP themselves, when first loading TES4Edit. If you forget to tick the UL ESP, you run the risk of removing IMPORTANT edits when automatically cleaning the mod.]
 
So, the patch has Baddy.esp as a master, making the patch explicitly dependent on Baddy.esp. The filename, readme and entire purpose of the mod makes it clear that xulEntiusGorge.esp is fairly important for the patch to work correctly. So it is implicit that the mod is dependent on xulEntiusGorge.esp even though there is no master entry in the header record.
 
This means that it is obvious to anyone who is actually intelligent enough to be safe using TES4Edit in the first place (did I say that out loud?!) that to do it right, you need to have both Baddy.esp and xulEntiusGorge.esp loaded into TES4Edit (and in the correct load order!) for the automated cleaning to be reliable [not mess things up].
 
Therefore…there is no valid reason to not clean a patch where it is blatantly obvious which other mods it was designed to patch.
Example #6: Another Illustration of the Importance of Loading Implicit Dependencies
DuggeDank provides the following example. Assume Mod A is a great mod but it regrettably makes a few silly changes. For instance, Mod A changes the name of the NPC Baurus to JohnnyBoy but does a lot of other really cool things. So Mod B is created in order to fix (patch) Mod A. Therefore, Mod B changes the name of the NPC Baurus back to Baurus in order to get all the changes from Mod A except the name change.
If you were to only load Mod B without also loading Mod A into TES4Edit, then TES4Edit would notice that Mod B's record of for Baurus is identical to its master Oblivion.esm. Hence, automated cleaning would remove the name change in Mod B because it appears to be unnecessary. This would be bad because now you’d have JohnnyBoy running around your game again.
This is why it is critically important that you load both Mod B and Mod A into TES4Edit in the proper order (Mod B loads after Mod A since it modifies Mod A).

But as ElminsterEU points out:

This problem [the JohnnyBoy issue] only happens if you load JUST Mod B and not Mod A into TES4Edit at the time you do the [automated] cleaning.
If both Mod A and B are loaded, then that record in Mod B would be marked as ‘identical to master but conflict winner,’ in which case the cleaning should not touch it.

To prevent the possibility of Mod B being loaded without Mod A being loaded, Mod B should list Mod A in its master list in which case trying to load Mod B into TES4Edit will always load Mod A as well.

Elminster’s final point is aimed toward mod creators. It is best and safest that any time you release a mod that modifies or relies upon another mod(s), you should list the other mod(s) as a master in the header of your mod if possible. This may not be practical in some cases, but in most cases it makes sense as a goal to aim for.

Lastly regarding Example #5, the much preferred solution to this whole problem would be for the original mod creator of Mod A to delete the JohnnyBoy edit. But this may not happen because for many reasons such as the mod author is long gone, likes the JohnnyBoy change, and/or is criminally insane. This is why sometimes a patch needs to contain typically unnecessary edits to counter the undesirable edits.

Why has so much time been spent on discussing cleaning philosophy instead of actual cleaning instructions? The reason is because the majority of problems you can cause by cleaning come from a lack of understanding rather than mistakes in the actual cleaning process. Also, the actual cleaning process is very simple (but tedious). And here enters our last Key Concept.

Key Concept #3: The true challenge in cleaning is not the logistics of cleaning but the knowledge required to know what files to load into TES4Edit.

Tips on How to Avoid Dirty/Wild-edit Filled Mods

Briefly, several points will be made about how to avoid problem mods that contain many dirty and/or wild edits. The best way to avoid wild edits is to only use mods created by experienced and trusted modders who already make sure to clean their mods before release. However, doing this would greatly limit your mod choices, and there will be certain mods that are too cool to pass up, even if you don't know the expertise of the creator.

Consequently, before using a mod, one strategy is to read comments posted by users on Tesnexus, Planet Elder Scrolls, or the Tesforums thread for that mod. Sometimes this can give you an idea if people are having major problems with the mod. Of course, be careful trusting any comment since many problems users have are due to the users’ mistakes, not the mod itself.

It is also highly advisable to only add one mod at a time to your game. This means download and install a mod and then play for a period of time before adding another mod. This can help determine if the mod you just added is problematic. But now we are delving into the realm of mod conflicts, which is way too large a subject to cover here, so only a few other points will be mentioned.

Adding mods slowly can be helpful, but it in no way is a perfect way to detect mod problems. Sometimes you'll add a mod and you're game will start crashing. You might want to blame the new mod. Maybe you are right. But also, it may be that another mod you are currently using contains either dirty (not if you already cleaned it, mind you) or wild edits, which by itself didn't cause problems (sort of like a dormant virus). However, adding the new mod, which may be totally clean, caused the prior mod to now wreak havoc on your game. The details of this type of scenario won’t be explained here but just know that this type of thing happens often, which makes it challenging to find the real culprit when your game goes wacky.

But truthfully, most users won't ever know if a mod they are using has wild edits in it unless they put in a lot of effort reading about the mod and looking at it in TES4Edit. Therefore, the average user should take the above-mentioned precautionary measures and not worry about things as long as their game runs pretty well and is fairly stable, by whatever definition you wish to use.

Load Order Notes

Besides loading all explicit and implicit mods into TES4Edit in the right load order, the mod you are cleaning should always be the last mod loading in TES4Edit. This is crucial. Never, ever, ever clean a mod that has other mods loaded into TES4Edit after it! This means you cannot load groups of mods together into TES4Edit and clean them in the same TES4Edit session. You must load the proper files as discussed above and clean only the last mod. Then you MUST close TES4Edit and start over with whatever next mod you want to clean. This is why cleaning many mods takes a long time. It is recommended you set aside many hours when you will clean your mods.

Vorians sums up with another ElminsterEU verified statement saying:

Best practice [what you should always do and never do anything different!] when cleaning an ESP is to always only ever load into TES4Edit the files necessary to carry out the cleaning. This means there should be zero files loading after the file you are cleaning.

Now here are some hard and fast rules by the man, ElminsterEU, himself. These rules NEVER change and ALWAYS apply to cleaning.

  • The module you are cleaning must be the last in the load order
  • All modules (which can be both esm's and esp's) that the to-be-cleaned module depends on (no matter if they are in the master list or if the dependency is implicit and indirect as e.g. with some of the FCOM modules) must be loaded in the correct load order

Note that to have the correct load order, you set your order to usual way as if you were playing. So as long as you already have the correct load order (you do, don’t you?), then you don’t need to do anything different for using TES4Edit. Load ordering is not within the scope of this document, but the easiest way to get the correct (mostly) load order is to use Better Oblivion Sorting Software (BOSS).

What Order to Clean Mods In?

It is recommended that you begin cleaning at the top of your load list and just do down the list. This means start with your earliest loading mods (top of the TES4Edit box that appears when you open TES4Edit).

Arthmoor also says to clean the ESM first when you have an ESP dependent upon it. This will happen anyway if you simple start at the top of your load list (the ESM’s will be cleaned first).

Some people also wonder in what order to clean mods that are related to each other, Again, the recommendation is to always work from the top downward.

A Community-Wide Effort

ElminsterEU rightly points out that cleaning mods should be a community-wide effort. The following is adapted from his statement on the subject.

It's NOT a good idea for everyone to just go ahead and clean their full load order and then forget about it.

The problem is twofold. First, to properly clean mods usually requires an understanding of the intent of the mod author. There might be implicit dependencies on other mods which are not part of the master list. Second, and following from the first, depending on how the cleaning was done, people end up with slightly different versions of these modules, which is going to make support in case of problems a nightmare for the mod author.

Also, this would (and currently does) lead to a huge waste of time as different people are cleaning the same mods over and over.

What is needed is more awareness of the issues.

For mod authors:

  1. Clean your mods properly. All of them. You are the one who really knows the intention of your mod. Closely review all changes to make sure they preserve the intent of your mod.
  2. Cleaning mods is NOT just limited to running the automated functions and be done with it. Manually review every override record your module(s) contain to make sure that that's really what you intended to do.
  3. List in your documentation that you HAVE cleaned your mods and which version of TES4Edit you used for it. If there were any indirect dependencies that you had to observe while doing the cleaning, specifically list them and the rational for them.

For mod users:

  1. Check your mods that do not specifically mention being properly cleaned (by basically doing a dry run of the cleaning process).
  2. If any of your mods are dirty, inform the author. The mod authors are the ones that really understand the intention of their mods. They are the ones that are in the best position to properly clean them. And if they only publish properly cleaned mods, the whole community benefits from it.
  3. If a mod has been deserted by its author or the author is unwilling to fix his mess, just leave a short note on the comments and/or in the RELz thread to save other mod users from wasting their time. Remember: stay civil; flaming doesn't help anyone.

Mod quality is a community-wide problem that needs to be properly addressed on a community level. And from the ground up, starting with the mod authors. Everyone doctoring around on the symptoms (by cleaning the mods in their own load order) is just wasting a huge amount of time and effort and actually makes support more difficult because different people will have different versions of the same mod.

This is primarily an awareness problem. Only in very rare cases are dirty mods a skill problem. And even more rarely an attitude problem.

A concentrated community-wide effort is required to raise awareness of these issues, and to make it clear that as a matter of community standards, it's not ok to release sub-quality modules which cluster bomb over everything else.

Section #2: Actual Cleaning Instructions

And now, at last, the actual instructions:

  1. Download TES4Edit created by ElminsterEU.
  2. Unzip the two files in the archive to wherever you please. I use a folder called \Oblivion Tools\.
  3. Make a shortcut for TES4Edit.exe and place it in an easily accessible place because you will be opening, closing, and re-opening TES4Edit as many times as you have mods to clean. I recommend the shortcut go on your Desktop.
  4. Run the TES4Edit executable.
    • Outdated instructions: Before version 2.3.0 or so, you had to rename TES4View.exe to TES4Edit.exe or use the “-edit” tag. You also had to use the “-fixupPGRD” tag. All this is no longer necessary. Just download TES4Edit, and run TES4Edit.exe plain and simple.
  5. A dialog box appears with a complete list of your .esp/.esm files. All your currently enabled plugins will be ticked.
    • Right-click anywhere in the list and pick “Select None.”
    • Now select whatever mod you want to clean and make sure to also select any implicit dependencies (you read the entire first section of this guide and you understand what a implicit dependency is, don’t you?). Explicit dependencies can also be ticked just to help you make sure all required mods are included, but explicitly dependent files don’t actually need to be ticked because they will automatically load anyway. Hit ok.
    • A mod group dialog box might come up. Never tick any boxes for mod groups when cleaning, ever.
  6. Wait for the mod to load. This will take a short while because it has to also load Oblivion.esm, which is large, and possibly other master files if there are any dependencies.
  7. After loading, right-click on the mod you are intending to clean and pick “Apply Filter.”
  8. A big dialog box will open with about a thousand different options. Panic for one second and then calm down. You only care about one single checkbox: "Conflict status inherited by parent". All other main checkboxes need to be deselected. Here is an image. Hit ok.
    300px
  9. Wait for the process to finish. It can take a long time if you’re dealing with a very large or dirty .esm/.esp. This will take a lot of memory also so don’t do other memory-intensive activities when filtering.
  10. Now, right click on the mod you are cleaning and pick “Remove "Identical to Master" records.”
  11. Wait two seconds when the big warning message appears and click “Yes…”
  12. The mod name will turn bold if any dirty edits were found and removed. Check the Messages tab to see what was changed. If you have some technical knowledge about how the mod works, now is a good time to investigate each removed record and/or make a copy of the removal log for later review. If you don't have much technical knowledge about the mod, then you'll have to assume everything was safe to remove, as long as you did it right (check the glossary for a definition of this term). Even if you don't understand all the details, you can still help out by sending a copy of the removal log to the author.
  13. The new versions of TES4Edit allow an additional cleaning step for deleted vanilla references. Right click again on the mod you are cleaning and select “Undelete and Disable References.” If any references were undeleted and disabled you'll get another list of such things on the right side of TES4Edit, but don't worry about the details. Doing this extra step will help prevent one major cause of the game crashing when exiting.
  14. Try to close the program. If there were no dirty edits found or references undeleted and disabled, the program will close properly. That mod is clean in regard to automated cleaning. However, if dirty edits were found, upon trying to close the program a dialog box will come up listing the .esp/.esm you modified. Click “OK.”
  15. Now you’ve cleaned the mod and a cleaned version of the .esp/.esm with the same exact timestamp is in your \Data\ folder ready to be used in game. A backup is also in your \Data\ folder. What I do is clean all my mods and afterward sort the files in \Data\ so that all the backups are together and I cut and paste them to another safe location outside my main \Oblivion\ folder.
  16. If you have some technical knowledge about the mod you just cleaned, now is a good time to compare the changes against the original mod, to make sure you didn't accidentally introduce new problems during the cleaning process. If you kept a copy of the removal log from Step 12, use it as a guide here. Load the same files again and use TES4Edit's Compare to function to check the changes. If you don't have much technical knowledge about the mod you just cleaned, you'll have to skip this step, but you can still help to raise awareness of these issues by sending a copy of the removal log to the author.
  17. Now repeat these directions for every mod you want to clean, starting with the very top of your load order. Never clean more than one .esp/.esm at a time and always make sure the .esp/.esm you are cleaning is the very last file in the list.

I'll update this with screenshots and better formatting soon...but the directions are quite fine as they are methinks.

The guide here has more pretty pictures if you're in to that sort of thing. Read it over too if you still aren't sure about the process.

Review of Key Concepts

Key Concept #1: Automated cleaning requires knowledge of exactly which other mods a certain mod relies upon (is dependent upon), both explicitly and implicitly.
Key Concept #2: The very essence of ‘doing it right’ is to make sure you load into TES4Edit all files (.esp and/or .esm), in the right load order, that the mod you are cleaning relies upon, both explicitly and implicitly.
Key Concept #3: The true challenge in cleaning is not the logistics of cleaning but the knowledge required to know what files to load into TES4Edit.

The astute reader will realize all three key concepts are actually saying the exact same thing.

Quick List of What & What Not to Clean

  • Do NOT clean any FCOM files that come in the FCOM archive.
  • Do NOT clean SM Plugin Refurbish…unless you really understood this guide.
  • Do NOT the unofficial patches (UOP, USIP, UMP). They have already been cleaned.
  • Do clean WarCry & Bob’s Armory.
  • Do clean the official DLC.
  • Do clean just about everything else…

List of Mods Needing Cleaning

This list is NOT comprehensive. It is merely here to point out some of the more popular mods that definitely need cleaning. Any mod not on this list and not on the Clean list may need cleaning.

Cautionary note: Keep unaltered backup copies of your DLC files somewhere safe in case you need to reinstall them. These are much more difficult to replace from an online source!

Note for contributors: If available please state the version number of the mod you found in need of cleaning. And possibly also state how many "Identical to Master" (ITM) records and "Undeleting and Disabling References" (UDR) were found. Thank you. Also, if you make changes, please do try to let us know at either BGS or TES Alliance so we can update the mirrors (they are being kept to raise public awareness combat potential sabotage).

1em_Vilja (v3.0.1) [11 ITM, 0 UDR]
24HrArenaAliveV2.esp
300_Artifacts.esp
300_Lore_Dialogue_Updated.esp
300 Regal Imperial City 2.esp [0 ITM, 130 UDR]
300_White Stallion 4.esp/Feudal Empire [version 4.4, see crucial note below this list!]

A Blades House.esp
Addendum - Diabloblivion.esp
AdenseEpicDungeon.esp
Adonnays Elven Weaponry.esp
AlchemistsCave-COBL.esp
AliveWaters.esp
AliveWaters - Koi Addon.esp
Aliyah.esp
allinonebasement_COBLnoCM.esp [2 ITM, 0 UDR]
All Natural - Real Lights.esp  [Version 1.1] found zero ITM, 3 UDR
Amajor7 Imperial Furniture.esp
AmbientTownSounds.esp
Apachii_Goddess_Store.esp [v1.6] 0 ITM, 3 UDR
Apachii_Heroes_Store.esp
Arcana Restored.esp  [zero ITM, 3 UDR]
Artefacts of the Ancestors.esp [Corruption present in plugin, see special instructions. Also has wild edits, German names, needs manual cleaning.]
Artifacts.esp [1 ref to undelete]
Atmospheric Oblivion.esp
Auriel's Books.esp
AyleidArrows.esp 

bartholm.esp (version 7) [211 ITM, 553 UDR]
BD&R - Deepgrave.esp
Beautiful_Women_NiceOnly.esp
BeldaElysium.esp 
Benirus Manor Remade.esp 
Better Clocks.esp
BHC_Expanded.esp 
Blood&Mud.esp 36 ITM, 401 UDM
Bob's Armory Oblivion.esp  [Version 1.1] found 6 ITM, zero UDR
Book Jackets Oblivion.esp 
Bruma Mages Guild Restored.esp - 4 ITM, 0 UDR
Bruma Mages Guild Restored Frostcrag.esp - 10 ITM, 0 UDR
BXX_Mines.esp  [40 ITM, 23 UDR]

C&C - The Blackwood Company.esp 
Castle_Seaview.esp 
CDEP-UnderpallCave.esp: 3 ITM, 246 UDR
cf_Improved_Barter_Gold.esp
Choices and Consequences - MMM.esp --> Latest version is clean
Choices & Consequences - OOO.esp 0 ITM, 10 UDR
Choices and Consequences.esp
Cliff_BetterLetters.esp
Cliff_CountyNames.esp 
ClocksOfCyrodiil.esp
Cobl Glue.esp  [Version 1.73] found zero ITM, 14 UDR
CompleteMagePack.esp
Crowded Roads Advanced less crowded.esp
Crowded Roads Revisited.esp  [Version 1.1] found 4 ITM, zero UDR
CUO_Bravil.esp [v1.2] 42 ITM, 729 UDR]
CUO_Bruma.esp [v1.0] 11 ITM, 5 UDR
CUO_Chorrol.esp [v1.7] 29 ITM, 468 UDR
CUO_Leyawiin [v1.4] 47 ITM, 417 (estimated) UDR [Gives error on undelete, still saves OK]
Cybiades.esp 2 ITM, 0 UDR
Cyrodiil Border Regions 1.2.esp [not recommended to use this, use .ini tweak or Bash]
Cyrodiil transportation network 1.3 WZ.esp

(DC) Sutch Reborn.esp 8 ITM, 0 UDR 
Dark Illusion Armour (HGEC Version).esp - 11 ITM, 1 UDR 
DarkLeatherArmor.esp
DarknessHollows.esp [v1.6] 22 ITM, 0 UDR
DeadlyReflex 5 - Combat Moves.esp
DLCBattlehornCastle.esp 13 ITM, 74 UDR
DLCFrostcrag.esp 73 ITM, 94 UDR
DLCHorseArmor.esp 3 ITM, 0 UDR
DLCMehrunesRazor.esp 21 ITM, 15 UDR
DLCOrrery.esp 11 ITM, 2 UDR
DLCSpellTomes.esp 40 ITM, 0 UDR
DLCTheivesDen.esp 5 ITM, 135 UDR
DLCVileLair.esp 26 ITM, 1 UDR
DremoraCompanion.esp
Duke Patricks - Fresh Kills Now Alert The NPCs.esp
Dwarven Mines.esp 45 ITM, 0 UDR

Echo_ChapelChant.esp
EiAmod.esp 
emperorface.esp
Enhanced Daedric Invasion.esp
Enhanced Quest Roleplaying.esp
eyja.esp

Fairies.esp - 62 ITM, 0 UDR
FightersGuildContracts.esp [v1.2] 28 ITM, 9 UDR
First Person Messages.esp
Francesco's Optional Chance of Stronger Enemies.esp  [SI version] found 3 ITM, zero UDR

Gift of Kynareth.esp [3 refs to undelete]
GlenvarCastle.esp [Contains a wild water height edit in cell (26, -42) of the Tamriel worldspace that should be removed.]
Grandmaster of Alchemy.esp
GTAesgaard.esp

hackdirtabyss.esp
Harvest [Flora] - DLCFrostcrag.esp
Harvest [Flora] - Shivering Isles.esp
Haunted_House_v1.5.esp
HauntedLairMod.esp [Recompile All mod]
Heroes of Cyrodiil.esp
Hoarfrost Castle.esp  [Version 1.2.2] found 4 ITM, 730 UDR
HouseMapMarkersOnlyBought.esp

Illusionary Summons.esp
Immersive Travelers.esp  [Version 1.0] found 8 ITM, zero UDR
IOM - Arena.esp
Ivellon.esp  [Version 1.8] found 9 ITM, 13 UDR

kingdonofAlmar.esp [v1.4] 177 ITM, 31 UDR
Knight of Skeleton.esp
KnightlyArmory.esp
Knights.esp  found 121 ITM, 257 UDR
KvatchAftermath [v7.8] 5240 ITM, 390 UDR
Kvatch Rebuilt.esp  [Version 1.1] found 26 ITM, 4 UDR
KvatchRising.esp [v1.9] 220 ITM, 3 UDR

Legendary Abilities-Shield MOJ.esp
Legendary Abilities-Reflect MOJ.esp [5 deleted, 0 undeleted]
LetThePeopleDrink.esp  [Version 2.5] found 9 ITM, 152 UDR [Cleaning fixes potential CTDs]
LetThePeopleDrink-Cobl.esp [v2.5, 9 removed, 152 undeleted]
LetThePeopleDrink-fountainonly.esp [v2.5, 6 ITM, 93 UDR]
LetThePeopleDrink-fountainonly-Cobl.esp [v2.5, 6 ITM, 93 UDR]
Living Economy - Items.esp
Lorecreatures.esp - 36 ITM, 1 UDR
Lost Paladins of the Divines.esp  [Version 2.0] found 6 ITM, 3 UDR
LostSpires_TheOrderofNibenay_patch.esp
LostSwordOfTheAylied.esp
Lyn-StoriesFromTheSeaMod.esp
Lynges_Thieves_Highway-10256.esp

Malevolent.esp
MannimarcoComplete.esp
MannimarcoRevisited.esp [gives error upon undelete about REFR:0000CC06, still saves ok]
MD Saddlebags v3.0.esp
MidasSpells.esp
Mighty Umbra.esp [1 dirty edit]
MIS.esp
MODAssassinsCreed2_Revisited.esp
Moriarcis.esp
Morrigan Swords Axes and Shield by Jojjo v1_1.esp
Mounted_Spellcasting.esp
MTCRiverShackv1.2.esp (version 1.2) 94 ITM, 5 UDR [contains deleted static record for 0008060C and one wild edit in CELL 0002FF46 (Bravil Skooma Den) to remove.]
Mystery of the Dulan Cult.esp (Standalone plugin)

Naked Nord.esp 18 ITM, 0 UDR [Includes single wild edit, so manual cleaning required]
Nanaelas Heartbreak.esp
Nascosto Isles 3.esp
New Frostmourne Sword by Jojjo v1_0.esp
New Potions by Tealpanda.esp
New_Sheoth_Palace_LOD_fix-10076.esp
nGCD plugins
Nico Creations DW Light.esp: 1 ITM, 20 UDR
NNWARE06-RhyeliaEmeroEV.esp
NNWARE2.esp: 11 ITM, 0 UDR
NNWAREAyleidDungeons_Series1EV.esp 
NNWARE Series 1.esp: 20 ITM, 11 UDR
No psychic guards v1.2.esp
noDem's City Life.esp

Oblivifall - Ambiant Dungeon SFX.esp [1 ITM, zero UDR]
OBSE-Storms & Sound SI.esp [45 removed, 0 undeleted]
Origin of the Mages Guild.esp [v7.3] 173 ITM, 383 UDR

P1DSeeYouSleep.esp  [Version 1.5.1] found 7 ITM, zero UDR
pale_rider's Paladin Equipment_unenchanted_eng.esp
PersonalPackGuars.esp
PhoenixEquipment.esp
PJs Spell Compendium - Spell Requirements.esp
Portable Campsite.esp
Progress plugins

Qarl's Harvest 1.1.esp - 8 ITM and 105 UDR
QQuix Rock, Rock, Rock Your Ship v3.esp - 12 ITM, 0 UDR

Rainbows.esp
realistic water.esp [v3.0] ITM: 3, UDR: 0
Reaper's Esmerelda Manor.esp: 48 ITM, 32 UDR
Reaper's waterfront.esp [ITM: 14, UDR: 60][NOTE: Standalone version only, BC integrated version is clean]
rebornaylieds.esp
Reznod_Mannequin.esp
ROHJ2.esp
Roleplaying Dialogues.esp
RomancingAhnassi.esp
RTT.esp 32 ITM, 3 UDR
Ruin.esp
Ruins of Tarnesia.esp  [Version 1.0] found 4440 ITM, 1 UDR + ideally needs manual cleaning too

Salmo the Baker, Cobl.esp [34 removed, 0 undeleted]
Sauron_Armor_Chest.esp
SB IC Palace Tower Light Mod v1.1 - Constant Yellow Light.esp  found 2 ITM, zero UDR
Secure Guild Chest.esp
Seductive Idles.esp - 3 ITM, 0 UDR
SentientWeapon.esp
Shadowcrest_Vineyard_COBL.esp
Shadow Ranger.esp: 19 ITM, 2 UDR 
Shdw_Armor Set_Sotonhorian.esp
Sheogoraths_Accords_Of_Madness.esp [v1.4.1] 98 ITM, 71 UDR
ShiveringIsleTravellers.esp
sir_balin_mod.esp
SK_Berserk_v0.6.esp
Slof's Horses Base.esp
Solace.esp
Sonia.esp
SoT_TheOrderofNibenay.esp [Has a lot of wild path grid edits too]
Spells and Enchanting at guilds.esp
Star's Fury.esp
StokerWolff.esp
Storms & Sound.esp
sunk ships.esp [135 removed, 34 undeleted]

Tales from Elsweyr Anequina.esp 0 ITM, 224 UDR
TalosBridgeGateHouse.esp [15 ITM 31 UDR]
tda_Armoury.esp
tda_WitchKingHelm.esp
T.I.E4MODS.esp
T.I.E4MODSOOO+FCOM.esp
Tales From the Tomb.esp [v1.1] 1 ITM, 24 UDR
TamrielTravellers4OOO.esp
Templar Fortress.esp (50 ITM, 892 UDR)
The Ayleid Steps.esp  [Version 3.4] found zero ITM, only 1 UDR
The Lost Spires.esp
TheElderCouncil.esp [v2.5] 274 ITM, 192 UDR
TheElderCouncil_TempleOfTheOne.esp [v1.5] 17 ITM, 0 UDR
TheForgottenShields.esp
The Imperial Water - BETTER CITIES.esp
The Mystery of the Dulan cult.esp 4569 ITM, 16 UDR [Better Cities replacer plugin is clean]
TheNecromancer.esp [v1.7] 108 ITM, 178 UDR
TheOubliette.esp 
theivery.esp
TheStorytellersBrotherQuest.esp
Thieves Arsenal.esp
Tombstone Epitaphs.esp
TOTF.esp
TR_Stirk.esp
TRoN.esp
Tyrael Companion.esp

UFF & RM Gold and Silver Daedric Armor.esp
UnderdarkSaga.esp
Ungarion1TheWelkyndSword.esp

VAs Better Gold with no Menu Icon.esp  [no version number] found zero ITM, 1 UDR
Valenwood Improved: 173 ITM, 0 UDR.esp
Valley_View_Estate.esp
Vampire Hunting - Order of the Virtuous Blood.esp
VaultsofCyrodiil.esp 15 ITM, 58 UDR 
Verwen Brewery UL_AY_AC Compatable.esp [1 ref to undelete]
VHBloodlines 1.2.esp (Arthmoor has supplied an unofficial pre-cleaned version, recommended to use that instead of the main download. Only available for SI version.)*
Visually Enhanced Arena.esp

WAC Birds And Insects.esp 11 ITM, 0 UDR
Waterfront Shack.esp 1 ITM, 8 UDR, 15 NULL [Requires manual cleaning to get rid of NULL Refs. See below.]
Wayshrines Improved.esp 13 ITM, 0 UDR
WeaponsOfTheNine.esp
Wellspring Vale COBL.esp - 2 ITM, 134 UDR 
West Roads  [Version 1.3] found 5 ITM, 10 UDR
Weye.esp
Windfall.esp
witchkingsword.esp
WOTFH_1.3.esp [error when undeleting records is OK]

Your_Personal_Museum_Updated-9300.esp

300_White Stallion 4.esp Special Cleaning Instructions

Requires custom TES4Edit work to fix errors or it can’t be saved. It's too complicated to list here, but it has to do with editing REFR:00092EC9 so that it uses the Upper version of the door and moving the door into the correct position. Copy the coordinates from REFR:020014BE then delete REFR:020014BE. This also applies to the renamed Feudal Empire version.

While we're talking about White Stallion/Fuedal Empire, this mod also has a LOT of errors in the AI Packages. They currently have no faction assignments and need to be updated. You can open the mod in the Construction Set and go to AI Packages and find all the ones with null parameters. Change those to have the following two conditions:

Target no, GetFactionRank, LeyawiinFaction, >=, 0.00 AND Target no, GetFactionRank, KnightsWhiteStallion, >=, 0.00

Artefacts of the Ancestors.esp

This mod contains two cells that share the same FormID (DELETEDHdADungeon and DELETEDHdAHaus, with FormID XX000CE8). This will cause TES4Edit to error when you attempt to open the plugin to clean it. There are two methods to correct this:

1. Open the plugin in the Construction Set with Construction Set Extender installed and give one of the cells a new FormID. This is not recommended unless you are a highly experienced modder, though.

2. Use TESSnip to remove one of the duplicated cells. Instructions follow:

Once, you have opened the plugin in TESSnip, locate the CELL records DELETEDHdADungeon and DELETEDHdAHaus (Fifth GRUP bunch down in the CELL GRUP, first Sub-Group). As you will be able to tell, these cells have identical FormIDs, and at least one of them needs to go. Given the prefix of the Forms, it is very likely that neither was ever meant to be seen in game, but this is something that really cannot be told at a cursory glance. Anyways, deleting at least one of these cells will fix the error.

This will allow you to edit the plugin in TES4Edit and clean things up.

Waterfront Shack.esp Special Cleaning Instructions

Contains NULL Refs that must be deleted manually. These are the refs:

XX000EF9 XX000EF8 XX000EF7 XX000EFE XX000EFB XX000EFA XX000EF6 XX000EF5 XX000EF3 XX000EF2 XX000EEF XX000EEE XX000EE9 XX000EE8 XX000EE7

List of Mods Already Clean

1AzuSeraphimSet.esp

AFK_Weye.esp
Alchemy Book.esp
Alir'sArmor.esp
All Natural.esp
All Natural SI.esp
All Natural - Real Lights.esp
Alluring Potion Bottles v3.esp
Alyeid Loot Extension.esp
Andragorn_Weapons_Armors.esp
Anduril Reforged.esp  [Version 1.31]
ArmamentariumArtifacts.esp
Armamentium female.esp
Armory of the Silver Dragon.esp
Arren.esp
Artifacts - ArmaCompleteAddon.esp
ArtifactsFemaleArmor.esp
AsharasCMPartners.esp
AT2 01-Shiki Armor Set.esp
AT2 02-Shiki Armor Set.esp
Atmospheric Oblivion.esp
attack and hide xxx v2.1.esp
AudaciousMagery.esp

Bedrolls-OBSE.esp
Better Cities (all files)
BetterCoins.esp
BlackLuster.esp
BookCollisionTest.esp
BrinaCrossVillage.esp
BrinaCrossVillage - COBL.esp
Brina Cross - Unique Forts Patch.esp

C&C - The Blackwood Company - OOO.esp
Camping.esp
CapesandCloaks.esp
Castle Redwort.esp
Chapel Shop.esp
ChaseCameraMod.esp
Cobl Races TNR.esp  [Version 1.53]
Cobl Races TNR SI.esp  [Version 1.53]
Cobl Si.esp  [Version 1.63]
CM Partners.esp
CybiadesDungeon.esp

DACompilation_GO_SI_APN.esp
DA Sprint.esp
DAValeriaCuteElf.esp
Deadly Reflex Bow Sway.esp
Detect Life Shader [New].esp
DragonKnightArmor0.9.esp
Dread Knight Armor.esp
DropLitTorchOBSE.esp
DS Flaming Arrows.esp
Dungeon Actors Have Torches 1.6 CT.esp

Egress.esp
ElsweyrAnequina.esp [Reports of ITM and UDR are all false positives. The mod is clean.]
Enhanced Economy.esp  [Version 5.1] Author: TheNiceOne
Enhanced Grabbing.esp
Enhanced Hotkeys.esp  [Version 2.1.1] Author: TheNiceOne
Enhanced Seasons.esp
Enhanced Vegetation xxx.esp
Enhanced Water v2.0 HD.esp
Enhanced Water v2.0 HD - SI Addon.esp
Enhanced Water v2.0 HDMI.esp
ES4_Alchemists Reference.esp
Ethereal - Eyes.esp
EVE_KhajiitFix.esp
EVE_KnightsoftheNine.esp
EVE_ShiveringIslesEasterEggs.esp
EY_BM_Armory.esp
Exterior Actors Have Torches 1.3 CT.esp

FastEquipping.esp  [Version 1.01]
FineWeapons for OOO.esp
FormID Finder4.esp
Fort Akatosh Redux.esp
Francesco's Optional Chance of More Enemies.esp  [SI version]
Francesco's Optional Chance of Stronger Bosses.esp  [SI version]
Francesco's Optional Leveled Guards.esp  [SI version]

Get Wet.esp
Get Wet - just droplets.esp
GGValeria2_0.esp
Ghost Rider Helmet.esp
GrimbotsSpellTomes.esp
Guards of Cyrodiil Redux.esp

Harvest [Flora] - DLCVileLair.esp
HeartOftheDead.esp  [Version 6.5]
Hemingweys Capes.esp
Higher Thieves' Guild Fence Amounts.esp
HUD Status Bars.esp  Author: TheNiceOne

icPlayerHome.esp  [no version number] Author: Stroti
Immersive Interiors.esp
Immersive Interiors - Lights.esp
ImmersiveWait.esp
ImpeREAL City Unique Districts – xxx (v2.8.0)
ImpeREAL Empire - Unique Castles (all plugins)
ImpeREAL Empire - Unique Castles - All the Castles -OCC.esp
ImpeREAL Empire - Unique Castles - All the Castles -OCR.esp
ImpeREAL Empire Unique Cities - Sutch.esp
ImpeREAL Empire - Unique Forts.esp
Imperial Furniture Renovated.esp

Kragenir's Death Quest.esp
KDCircletsOOOOptimized - Loot Only.esp
kuerteeCleanUp.esp
KvatchRankFix.esp
Kyoma's Journal Mod.esp

Lich King's Helm v1_0.esp
LoadingScreens.esp
LoadingScreensAddOn.esp
LoadingScreensSI.esp
Loths Blunt.esp (as of 3.0.1+)
Loth's Blunt Weapons for Npcs.esp  [Version 3.0.1]

Mage Equipment.esp
MaleBodyReplacerV4.esp
Map Marker Overhaul.esp  Author: TheNiceOne
Map Marker Overhaul - SI additions.esp  Author: TheNiceOne
MergedMaps.esp
MiniMap.esp
MIS New Sounds Optional Part.esp
MMM-Cobl.esp  [Version 1.73]
Moonshadow Elves - Sc.esp
Morrigan Armor Set v1_0.esp
Morrowind Robes and Dresses for HGEC.esp
Mystery of the Dulan Cult.esp (Better Cities replacer plugin)

Natural_Habitat_by_Max_Tael.esp
Nicos  Scimitars Back.esp
Night Knight Armor.esp
Nightshade_Armor.esp
NNWARE Rhyelia Emero.esp
No More Annoying Messages.esp

Oblivifall - Losing My Religion.esp [v1.4]
Oblivion XP.esp
OL_MyBrumaFireplace.esp
Old Crow Inn (as of version 1.5)
OOO 1.32-Cobl.esp  [Version 1.32]
Open Better Cities
OTEP - Aleswell.esp

P1DkeyChain.esp
Plate of the Shadow.esp
PowerAttack Voicemod.esp
PowerAttack Voicemod - The Shivering Isles.esp
ProgressMBSP.esp [v2.00]
ProgressSBSP.esp [v1.00]
ProgressRBSP.esp [v1.00]
ProgressRacial.esp [v1.00]
PTRoamingNPCs.esp

Quest Award Leveller and DLC patches
Quest Log Manager.esp

RealisticForcexxx.esp
RealisticMagicxxx.esp
Real Lava 1.3.esp
RealSleep.esp
ReneersNotesMod.esp
Reznod Mannequin.esp
RingwraithArmorSteel.esp
RustyItems for OOO.esp

Saerileth.esp
Script Effect Silencer.esp
Side's Sailing Ships.esp
Slof's Oblivion Robe Trader.esp
ShadowWatcher_HGEC_v2.esp
Shivering OOO.esp
SM_COBL.esp  [Version from Supreme Magicka 0.90b6 download]
SM_DeadlyReflex.esp  [Version from Supreme Magicka 0.90b6 download]
SM_DLCSpellTome.esp
SM_EnchantStaff.esp
SM_MMM.esp
SM_OOO.esp
SM_Scrolls.esp
SM_SigilStone.esp
SM_ShiveringIsles.esp  [Version from Supreme Magicka 0.90b6 download]
Smite of Order.esp
SPB Mercenary Armors.esp
Spell Delete.esp
StarX Vampire Deaths.esp
StarX Vanilla Vampires Revised.esp [Later versions have removed the NULL refs.]
StealthOverhaul.esp
StopDarkBrotherhood.esp
Sundered Keep.esp [v1.16]
SupremeMagicka.esp  [Version 0.90b6]
Syc_AtHomeAlchemy.esp
Symphony of Violence.esp

talkwithyourhands2.esp
Tamriel Resource Pack.esp
TamrielTravellerAdvscript.esp
TamrielTravellers Cosmetics Cobl or RBP.esp
TamrielTravellersItemsCobl.esp
TamrielTravellersItemsnpc.esp
The Blade of the Haunted
The Power Attack Voice Mod
Toaster Says Share Faction Recruitment.esp
Toggleable Quantity Prompt.esp
trfjBladeMasterSword.esp
trfjSolarisStaff.esp
trfjSpiderGreatsword.esp
TRN One of the Gang
Tyrael Armor.esp

UFF & RM Black Plate Armor.esp
Underworld Armor.esp
Unique Landscapes mods (all of them)
Unofficial Oblivion Patch.esp  [Version 3.3.3]
Unofficial Official Mods Patch (all plugins)
Unofficial Shivering Isles Patch.esp  [Version 1.4.0]
Update My Statue.esp

VanityCameraSmoother.esp
VASE - Cyrodiil for MMM.esp
VASE - Vanilla SI.esp
Viconia.esp
Villages1.1.esp [Version 1.1b is clean. Not recommended to use previous versions, which are still dirty.]
Visual Health Indication, Cobl.esp
VOILA.esp

Warglaives by Jojjo v1.0.esp
Weapon Expansion Pack for Oblivion Enthusiasts.esp 
Willful Resistance.esp
WindowLightingSystem.esp  [Version 5.3.5]

XiaNewAmuletsV1.esp
X.Races.Comp.esp

za_less_NPC_conversations.esp

Arthmoor's mods...such as...

Cyrodiil Travel Services
Faregyl Village
New Roads and Bridges Revised
Open Cities
Open Cities New Sheoth
RAEVWD Cities.esp
RAEVWD Imperial City.esp
RAEVWD New Sheoth.esp

Also note: since this is a wiki and anybody can edit it, the original author of this article cannot verify that the mods on the list are all truly clean. But most are, probably, maybe.

List of Mods You Should NOT Clean

There are a very small number of mods out there that contain "dirty edits" intentionally. One reason for this is to sort of do a preemptive strike to combat against truly "dirty" mods that might cause problems. There are other reasons too. The bottom line is do NOT clean the mods below.

ArmamentariumArtifacts.esp

Bashed Patch.esp
(NOTE: It is safe to run undeletes on this, but do not remove ITM records)

BG2408's mods (LAME, RBP, Integration)
EXCEPTION: bgIntegration.esp contains a single deleted reference, but do nothing beyond addressing that.

FCOM (None of the .esp/.esm files should be cleaned)

Mart's Monster Mod - City Defences.esp (author says to not clean)
Mart's Monster Mod - Gems & Gem Dust.esp (author says to not clean)
Mart's Monster Mod - Hunting & Crafting.esp (author says to not clean)

Oblivion WarCry EV.esp  [Version 1.09] (do not clean core FCOM mods)

Oscuro's_Oblivion_Overhaul.esm (do not clean core FCOM mods)
Oscuro's_Oblivion_Overhaul.esp (do not clean core FCOM mods)

Personality Idles - Modified version.esp (author confirmed that cleaning breaks functionality)

SM Plugin Refurbish (Battlehorn and ThievesDen, specifically, but this goes for all the plugins) 
[contains dirty dialogue edits that are intentional for mod functionality, do not clean]


SupremeMagicka.esp  [Version 0.90b6] (Do not clean beyond what the author cleaned already) 

Glossary

Vanilla Oblivion: This refers to the default Oblivion experience (settings, locations, items, ect) when running no mods at all.

Dirty/Unnecessary edit: This edit is caused either by accidental editing or CS bugs (unknown phantom edits). This edit is identical to vanilla Oblivion and is not part of a patch-type mod, and is therefore totally unnecessary. This edit can be empirical proven to be worthless. Automated cleaning will remove all dirty/unnecessary edits.

Wild/Undesirable edit: This edit alters the vanilla Oblivion environment, but the change is not consistent with the purpose and intent of the mod in question. This edit causes problems and is determined to be undesirable by making a judgment call based on comparing the mod creator’s purpose and intent to the actual mod edits. Automated cleaning will not remove this type of dirty edit. These edits require manual cleaning.

Explicit dependency: This is another .esm or .esp file that the mod in question lists as a master in its header. All you need to know for cleaning purposes is that TES4Edit will always load the explicit dependencies for you.

Implicit dependency: This is another .esm or .esp that the mod in question doesn’t list as a master in the header but nonetheless is required for the mod in question to do its job. You must know enough about the mod in question to know which mods it implicitly requires.

Simple .esp: An .esp that relies solely on Oblivion.esm and possibly a master. esm from the mod itself, which would be distributed with the mod itself and be obvious. A simple mod has only explicit dependencies, so TES4Edit will always load the necessary master files when loading the mod.

Complex .esp: An .esp that mods another mod and is meant to be used with one or more other mods. This can also be called a ‘patch’ mod. A complex has both explicit and implicit dependencies, so you MUST determine and load the implicit dependencies into TES4Edit.

Basic Complex .esp: An .esp that usually edits two other mods in a minor way. Landscape patch mods are the most common examples of this.

Advanced Complex .esp: To fit this category an .esp must attempt to patch many mods together in a very in-depth way. This would be FCOM. It is not recommended to clean FCOM not because it *can’t* be safely cleaned but because to safely clean it you need a LOT of knowledge about the inner workings of FCOM, and nobody but dev_akm is qualified here. Plus dev_akm cleans his stuff well enough already.

Do it right: Making sure you load all files that the mod you are cleaning relies upon (.esp or .esm) into TES4Edit in the correct load order, including both explicit dependencies and implicit dependencies. The file you are cleaning must always be the last one loaded. Never clean more than one plugin at a time. If you need to clean multiple files, you'll have to restart TES4Edit for each and every one of them.

Correct cleaning load order: The same load order that is correct for playing the game. The file you are cleaning must ALWAYS be the last file loaded in TES4Edit, and all other required files must be loaded in the same optimal order you use for playing.

Closing Remarks/Credits

You actually read all of this? +5 to OCD for you.

But seriously, none of this would be possible without ElminsterEU, who has put an enormous chunk of his personal spare time into the making of this wonderful program. All kudos should go to him. And if you are in position of doing so, don't forget to endorse the file at TESNexus.

Just so you know, I, Brumbek, wrote most of this guide, so any errors are mine most likely. You may contact me on the bethsoft forums if you have any input or other comments.

I also want to think all the other contributors to this, specifically Vorians, Arthmoor, dev_akm, and many others. I also want to thank all the little people I stepped on in order to become Master of the Universe.