Wrye Bash General Readme

Contents

  1. Introduction
    1. Glossary
  2. Installation
  3. Uninstallation
  4. Installing Mods
    1. Overview
    2. Restructuring Packages to be BAIN-Compatible
    3. Installing/Uninstalling Via BAIN
    4. BAIN Package Order
    5. What Symbols & Colours Mean
    6. Useful Context Menu Commands
  5. Setting Up Load Order
    1. Overview
    2. Setting The Load Order
    3. What Symbols & Colours Mean
    4. Useful Context Menu Commands
  6. Setting Up A Bashed Patch
    1. Overview
    2. Merging Plugins
    3. Importing From Plugins
    4. Applying Tweaks
    5. Other Bashed Patch Options
  1. Applying Ini File Edits
    1. Overview
    2. What Symbols & Colours Mean
    3. Buttons & Context Menu Commands
  2. Launching Applications
    1. Toggle Buttons
    2. Game & Editor Launchers
    3. Game-Specific Utilities
    4. Other Applications
    5. Wrye Bash Feature Launchers
  3. Troubleshooting
    1. Generating A Bug Dump
    2. File Permissions
    3. Backing Up & Restoring Settings
    4. How To Report Bugs Helpfully
    5. Known Bugs
    6. Common Issues
  4. Credits
  5. Contact
  6. License
  7. Advanced Readme Topics

Introduction

Wrye Bash is a powerful mod management utility for TES IV: Oblivion and TES V: Skyrim. Its features include:

Wrye Bash can appear daunting at first. To help make it more manageable, the documentation has been split into a few readmes that are targeted towards different usage requirements.

This readme covers only the most commonly used features, so that the average user can start using Wrye Bash without being overwhelmed. Information on the less commonly used features and more technical details of the features covered in this readme may be found in the Advanced Readme. Information on some of the syntaxes and file formats that Wrye Bash uses are found in the Technical Readme. Finally, Wrye Bash's version history is stored in the Version History document.

Glossary

Modding for Oblivion and Skyrim has a wonderful history of confusing terminology. The list below details some terms commonly used when dealing with mods.

This readme will also use the placeholder [Game]. Replace this with Oblivion or Skyrim depending on which game Wrye Bash is running for. Additional terminology specific to Wrye Bash's functions will be introduced as required. Also, links that are followed by go to pages that are not part of the Wrye Bash documentation.

Installation

The simplest way to install Wrye Bash is using the installer, as it installs Wrye Bash and its dependencies automatically. However, the instructions below are provided if a manual install method is preferred.

Note: There are two versions of Wrye Bash available: the Python version and the Standalone version. Both are the same program, but the Standalone version has fewer dependencies and so is recommended for most people. The Python version requires the installation of some Python libraries, and the Standalone version requires the installation of the MSVC++ 2008 Redistributable. Both require the MSVC++ 2013 Redistributable.

Windows Vista & Windows 7 users: Windows' User Account Control feature may interfere with the running of Wrye Bash and other utilities. See the File Permissions section for solutions.

Manual Standalone Version Install:

  1. Download and install the MSVC++ 2008 Redistributable and the MSVC++ 2013 Redistributable.
  2. Extract the downloaded Wrye Bash archive into the game folder (Oblivion or skyrim depending on the game) so that the Mopy directory appears in the game folder.
  3. Run Wrye Bash by double-clicking Wrye Bash.exe in the new Mopy folder.

Manual Python Version Install:

  1. Download and install the MSVC++ 2013 Redistributable.
  2. Download and install the Wrye Python package from the location Wrye Bash was downloaded from. This package contains all the required Python libraries. If you have previously installed Python and any Python libraries, or the Wrye Python package itself, you may not need to install it again. See the Advanced Installation section for the list of included libraries and their versions to check if you need to install any of the libraries bundled in the Wrye Python package.
  3. Extract the downloaded Wrye Bash archive into your game folder (Oblivion or skyrim depending on the game) so that the Mopy directory appears in your game folder.
  4. Run Wrye Bash by double-clicking Wrye Bash Launcher.pyw in the new Mopy folder.

Uninstallation

The ease with which Wrye Bash can be removed is dependent on how much you use it to manage your modded game.

If none of the above points apply to you, or once you have taken the necessary measures for the points that apply, you can uninstall Wrye Bash by either running the uninstaller, if you used the installer to install Wrye Bash, or delete the following files and folders if you installed it manually.

Installing Mods

Installers Tab Installers Tab Installers Tab Installers Tab Installers Tab Installers Tab Installers Tab Installers Tab
Wrye Bash's Installers tab.

Overview

Wrye Bash's mod installer is known as BAIN, and is represented by the Installers tab. The first time the Installers tab is opened, a dialog will appear asking if BAIN should be initialized. If you click Yes, BAIN will be initialised, which can take some time. After that, the information refresh performed when the Installers tab is opened is much faster. BAIN's primary function is to install mod packages. BAIN Packages can be .zip, .7z or .rar archives or uncompressed directories. Uncompressed directories are called Projects.

If BAIN is disabled, ie. if you clicked No on the dialog that was displayed the first time you selected the Installers tab, it can be re-enabled by right clicking on a column header in the Installers tab and selecting Enabled.

Restructuring Packages to be BAIN-Compatible

The easiest way to tell if a package needs manual converting to be compatible with BAIN is to try installing it. If it is listed in the Package list with a grey checkbox and name, then BAIN cannot install it. Due to BAIN's flexibility, many mods are already packaged in ways that are compatible, but for those that are not, there are a few possible cases:

If an archive has a BCF, it can be converted for installation with BAIN using the following instructions.

  1. Ensure that the BCF is installed in the correct location, [Game] Mods\Bash Installers\Bain Converters. Also ensure that the archive(s) it converts is/are in [Game] Mods\Bash Installers.
  2. From the BAIN installers list, select the archive(s) to be converted (i.e., the source packages) and right click on the selected file(s) to bring up the context menu, and select Conversions to open the sub-menu.
  3. Click on Apply to open a second sub-menu and select the BCF from it. There may be more than one BCF listed if multiple installed BCFs can convert the selected package(s). An asterisk ('*') is added to the end of a BCF's name for every archive it converts that isn't selected.
  4. Optionally choose a name for the converted archive(s).
  5. Once Wrye Bash has finished the conversion, the converted archive(s) will appear in the BAIN package list ready for install. You can now delete the original archive(s).

If a package is unrecognised by BAIN and has no associated BCF, its contents will have to be rearranged so that the structure matches one of the three types of BAIN-compatible package structures:

StructureDescription
SimplePackage has .esp, .esm and/or .bsa files, and/or any of the regular game subdirectories (screenshots, bash patches, distantlod, docs, facegen, fonts, menus, meshes, music, shaders, sound, textures, trees, video, streamline, _tejon, ini tweaks, scripts, pluggy, ini, obse) at the top level of the package.
ComplexPackage has top-level subdirectories that each have a simple structure (as defined above). Each top-level subdirectory will be treated as a sub-package, and can be independently activated or deactivated as desired.
Complex/SimpleA complex package with only one top-level subdirectory. It is treated as a simple package. Examples include mods packaged with a top-level Data directory.

Installing/Uninstalling Via BAIN

Packages must first be placed in the [Game] Mods\Bash Installers directory. This can either be done via Windows Explorer, or by dragging and dropping the package into the Wrye Bash window when the Installers tab is open. If you drag and drop, you will be asked whether you want to copy the package or move it.

If a package contains a Wizard (ie. there is a wand icon overlaid on its checkbox):

  1. Right-click the package and select Wizard. You can also choose to install using the Wizard's default options by selecting Auto Wizard.
  2. If you chose Wizard, navigate through the steps of the Wizard to install the package. Otherwise, you will be skipped to the Wizard finish screen.
  3. At the Wizard's finish screen, click the Apply button to apply its selections. The Wizard window may need to be resized for the Apply button to become visible.

If a package has a Simple or a Complex/Simple structure:

  1. Select the package in the package list.
  2. Choose which plugins to install from it using the Esp/m Filter box to the far right of the package list. Checked plugins will be installed, while unchecked plugins will be skipped.
  3. Right-click the package and select Install.

If a package has a Complex structure:

  1. Select the package in the package list.
  2. Choose which sub-packages to install from the Sub-Package box to the right of the package list. Checked sub-packages will be installed, while unchecked sub-packages will be skipped.
  3. Choose which plugins to install from it using the Esp/m Filter box to the far right of the package list. Checked plugins will be installed, while unchecked plugins will be skipped.
  4. Right-click the package and select Install.

If you install a package then later change the sub-packages or esp/m files selected, you can apply these changed by right-clicking the package in the list and selecting Anneal. A Wizard provides a scripted installation method that can be useful for more complex mods with many options.

When a package is installed, BAIN installs any files that appear to be documentation into the Data\Docs folder. Any files that are simply named readme (eg. readme.txt, readme.html, readme.doc) will be renamed according to the package name to prevent packages overwriting each other's readmes.

To uninstall any package, simply right-click the package in the package list and select Uninstall. You can also uninstall packages that BAIN hasn't installed, which will remove any installed files that match the ones in the package. This is useful for cleaning out mods that were manually installed. Uninstalling via BAIN respects the ownership of files, ie. uninstalling a mod that contains files also installed by a mod listed lower down will not uninstall the lower mod's files. See the next section, BAIN Package Order for more on this. If the Auto-Anneal option is enabled (the default), then files from other packages previously overriden by the uninstalled package's files will be automatically restored.

BAIN Package Order

The install order of packages in BAIN is important as this decides which mod gets its files installed in the case of resource conflicts. Packages may be listed in install order by left-clicking on the Order column header. If two mods try to install the same file, then the mod lower down in the list will have its file overwrite the file of the mod higher up in the list.

The order of sub-packages within a package follow the same rules as packages. Checked sub-packages lower in the sub-package list will overwrite conflicting content from sub-packages above them.

Package conflicts are detailed in the Conflicts tab to the right of the package list when you select a package. This tab tells you which packages have which files that conflict with files in your currently-selected package. It gives this information for packages both above and below the selected package in the package list.

BAIN allows you to easily adjust the conflict status of packages by moving their order around. This can be done by dragging and dropping packages within the list, or by right-clicking packages and selecting the Move To... option. You can also select multiple packages and move them, in which case they will be moved as a group, retaining their order relative to one another in their new location. A third option is to select the package(s) and use Ctrl-Up or Ctrl-Down to move them up or down respectively.

What Symbols & Colours Mean

BAIN uses the colours of packages in the package list and the state of their checkboxes to convey information about their status to the user. A checkbox state may be combined with any checkbox or text colour, and the possible states and colours are described in the tables below.

Note: Installed packages are marked with a plus, eg. +. Corrupt or incomplete packages are marked with a cross, eg. a cross. Packages that begin and end with ==, eg. ==Last==, are marker packages. They don't represent an archive or folder and so contain no files, but may be used to organise the package list.

Checkbox ShapeMeaning
diamondThe package is a Project, ie. a directory rather than an archive.
checkboxThe package is an archive.
Checkbox ColourMeaning
greenAll the files in the package are installed as configured.
redSome or all of the files in the package are not installed as configured.
orangeAll the package files are installed, but the .esp/.esm plugins are not identical (eg. another package has overwritten them with another version of the plugins).
yellowAll the package files are installed, but some resource (ie. non-plugin) files are not identical (eg. another package has overwritten them with another version of the files)
whiteThe package, as configured, has no files to install. This can happen for complex packages where none of the sub-packages are selected for installation.
greyBAIN does not recognise the structure of this package so cannot install it.
Text FormattingMeaning
Navy BlueThe package contains sub-packages.
GreyBAIN does not recognise the structure of this package so cannot install it.
Orange BackgroundThe install is dirty. This will occur for packages for which the configuration has been altered (either by altering active sub-packages and esmps, or by altering the package itself). This can be repaired by running Anneal or Anneal All.
Yellow BackgroundThe package has "underrides" i.e. some of its installed files should be overridden by higher order packages. This may happen after reordering mods that have already been installed. It can be repaired by running Anneal or Anneal All.
Grey BackgroundSome files present in the package will not be installed. This can be due to having a complex structure only partially handled by BAIN, or having file types that BAIN skips. This can sometimes be fixed by telling BAIN that the package Has Extra Directories by ticking that option in the right-click menu.

Useful Context Menu Commands

The following commands found in the package and column header context (ie. right-click) menus are often useful for many users.

Column Header Context Menu
CommandDescription
Open...Opens the Installers directory in Windows Explorer.
Refresh DataRe-scans the Data directory and all project directories. This is done once per run of Wrye Bash, when the Installers tab is first opened. If you manually alter the directories after that, you should run this command to update BAIN to reflect the changes. BAIN refreshes itself automatically if changes are made to packages in the Bash Installers directory.
Add Marker...Creates a marker for organising your packages. The == prefix and suffix will be added for you.
List PackagesDisplays a list of projects and archives and copies the list to your clipboard. This is useful for posting your package order on forums, eg. when troubleshooting an install.
Uninstall All PackagesUninstalls all the packages in the package list.
Clean DataRemoves files from the Data folder that are not from one of the following sources:
  • Vanilla game content.
  • Official DLC content.
  • Wrye Bash.
  • Installed BAIN packages.
The files are not deleted, but moved to the [Game] Mods\Bash Installers\Bash\Data Folder Contents [timestamp] folder instead, where [timestamp] is the date and time the command was run.
Anneal AllInstalls any missing files for active installers and corrects all install order errors.
Unhide...Opens a dialogue window allowing you to select which hidden packages to unhide.
Skip OBSE PluginsOblivion only. If this is checked, files in the Data\OBSE\Plugins folder will not be installed.
Skip SKSE/Script Dragon PluginsSkyrim only. If this is checked, files to go in the Data\SKSE\Plugins or Data\asi folder will not be installed.
Package Context Menu
CommandDescription
Open...Opens the selected package(s) in the file system.
Duplicate...Makes a duplicate of the selected package(s).
DeleteDeletes the selected package(s). Deleted packages are not sent to the Recycling Bin, they are permanently deleted.
Open At...Attempts to open the selected package's page on the selected site. If Google is selected, performs a Google search for the package name. For the other three sites, this command assumes that the trailing digits in a package's name is the package ID at the sites. If this assumption is wrong, a random page, or an error page, will be opened.
HideHides the selected package in the list, and moves it to the [Game] Mods/Bash Mod Data/Hidden folder.
RenameRenames the selected package or marker.
RefreshRefreshes all info for the selected package(s). Since BAIN refreshes package information whenever Wrye Bash regains focus after losing it (ie. you select another program's window, then switch back to Wrye Bash), this is only useful if a package has been changed and it has Don't Refresh selected, or the Auto-Refresh Projects option is disabled. Note that scanning a project for changes takes much longer than scanning an archive for changes.
Move To...Moves the selected package(s) to the specified position.
Open readmeIf BAIN detects a readme in the package, it will be opened.
Has Extra DirectoriesBAIN only recognises a limited set of subdirectories of the Data folder, and skips any unrecognised subdirectories. Checking this option will cause BAIN to install unrecognised subdirectories.
WizardRuns the Wizard for the package, if it has one.
Auto WizardRuns the Wizard for the package, if it has one, selecting the default options.
AnnealInstalls missing files and corrects install order errors according to the package configuration.
InstallFully installs the package as configured except for files that would be overriden by later packages.
UninstallUninstalls the package. If Auto-Anneal is active (the default) then files from earlier packages that were previously overriden will be installed as required.
ConversionsApplyApplies a BAIN Conversion File.
List StructureGenerates a list of the files and directories in a package. Useful for posting package structure on forums, eg. when troubleshooting an install.

Setting Up Load Order

Mods Tab
Wrye Bash's Mods tab.

Overview

Wrye Bash displays your installed plugins in its Mods tab. Your load order consists of active installed plugins, which Wrye Bash marks with a ticked checkbox. The load order is important as it decides what plugin 'wins' any conflict between plugins, with later loading plugins overriding those that change the same thing. Load order is not the same thing as install order! Install order determines which mods' files overwrite other mods' files when they conflict. Load order determines which plugins' effects override other plugins' effects in-game when they conflict.

Plugins may be activated by clicking their checkbox so that the checkbox is ticked, or by selecting a plugin or group of plugins and pressing the space bar on your keyboard. Plugins may be deactivated by again clicking their checkbox or pressing the spacebar. If a group of selected plugins contains a mix of active and inactive plugins, pressing the space bar once will activate them all, thereafter it will function as normal.

Some plugins are explicitly dependent on other plugins - they have these plugins as masters. When a plugin is activated, its masters are also activated. Conversely, when a plugin upon which other plugins depend is deactivated, those plugins are also deactivated.

When setting the load order, make sure that Wrye Bash is displaying your plugins sorted by Load Order. Do so by clicking on the Load Order column header near the top of the tab. You can also display the plugins sorted by other attributes by clicking on any of the other column headers. Clicking twice will reverse the display order for any column but Load Order. The load order of plugins is given in hexadecimal digits, from 00 to FE, which is 0 to 254 in decimal. (This number also forms the first two digits of a record's Form ID.)

Note that you can only have a maximum of 255 plugins, including your game's master file (eg. Oblivion.esm, Skyrim.esm), active at any one time. Wrye Bash displays a plugin count in its status bar, to the right hand side, in the format Mods: [active]/[installed].

Setting The Load Order

Setting up a correct load order that minimises detrimental conflicts that could cause issues in-game can be a difficult and time-consuming process. Effective load-ordering often requires a knowledge of what each plugin in your load order contains so that you can position the plugins to minimise these conflicts. For simple mods, the description in the mod's readme will usually be sufficient to determine the records it contains, but to be sure a utility such as TES4Edit is required.

BOSS can be used to greatly simplify the process of setting the load order, as it can correctly position thousands of plugins automatically. However, you may still need to order some plugins manually.

Wrye Bash provides a number of ways for you to set up your load order:

When running Wrye Bash for Oblivion, you can also lock your load order in place to prevent unintended changes to it by selecting the Lock Load Order option in the column header right-click menu. Note that this will prevent other utilities from changing the load order, so uncheck this option if you use such a utility to set your load order. If you use BOSS to manage your load order and you also use Lock Load Order, ensure BOSS Disable Lock Load Order is also enabled to allow BOSS to function correctly.

The Lock Load Order feature is not implemented for Skyrim as Wrye Bash will automatically undo any changes to load order done made by the Skyrim launcher or any utility that does not follow the textfile-based load order standard in order to maintain a fully coherent load order. This effectively means that unintended changes are prevented.

What Symbols & Colours Mean

Like in the Installers tab, Wrye Bash uses colour-coding and other formatting effects to convey information about the state of plugins. The different types of formatting used and their meanings are explained here.

Checkbox TypeMeaning
ActivePlugin is active.
MergedPlugin is merged into an active Bashed Patch.
ImportedPlugin is imported into an active Bashed Patch.
InactivePlugin is not active, merged or imported.
Checkbox ColoursMeaning
BlueThe plugin's masters are all in exactly the same order as is specified in the plugin.
GreenThe plugin's masters are in the same order as is specified in the plugin, but their precise positions are different (ie. there are other mods between them). This is not an issue, and can be considered to be just as good as having a blue checkbox.
OrangeSome of the plugin's masters are in a different order than what is specified in the plugin. This will generally be handled automatically by the game, but it may result in changes in-game.
RedOne or more of the plugin's masters is missing. This will generally cause the game to crash on startup, and must be corrected.
Text FormattingMeaning
Blue textA .esm plugin.
Green textA mergeable plugin.
Purple textA plugin that should not be merged (ie. tagged with NoMerge).
Pink backgroundOblivion only. A plugin that shares its modification date with another plugin. Not a problem unless both plugins are active.
Red backgroundAn active plugin that should remain deactivated (ie. tagged with Deactivate) or, for Oblivion only, an active plugin that shares its modification date with another active plugin. This must be corrected so that they have different modification dates or else it may break your load order.
Orange backgroundAn exclusion group violation. This should be corrected.
Grey backgroundA ghosted plugin.
Slanted textA plugin that is recommended to be imported and deactivated (ie. tagged with Deactivate).
Underlined textA plugin identified as having dirty edits (Identical to Master, Deleted References, or otherwise necessary cleaning).

Useful Context Menu Commands

The context menus for the column headers and plugins contain a large number of commands, most of which are unlikely to be of use to the average user so are not detailed here.

Column Header Context Menu
CommandDescription
FileNew Bashed Patch...Creates a new Bashed Patch plugin. Useful if you accidently delete your current one or wish to have more than one.
List ModsThis lists the load order, including version information, activation status and major load order errors. It can be useful for debugging a broken load order. If the 'c' keyboard key is pressed when this command is selected, the CRCs of plugins will also be displayed in the output.
List Bash TagsThis lists all the Bash Tags applied to the plugins in your load order, and where/how the Bash Tags were specified. It can be useful for debugging a broken load order.
Auto-GhostThe game engine has a bug where it reads all the plugins in the Data folder, and this can affect performance when the number of plugins is around 300+. Auto-Ghosting adds a .ghost extension to all inactive plugins automatically to prevent the game engine reading them, and so helping to avoid the performance drop. When a ghosted plugin is activated, the .ghost extension is removed, allowing it to function as normal. Note that most other utilities will not recognise ghosted plugins, so there are options available for individual plugins to control which get ghosted.
Lock Load OrderOblivion only. This prevents other utilities from altering plugin load order. More accurately, it detects changes to load order when Wrye Bash is focussed (ie. on top of all other program windows) and reverses those changes.
Plugin Context Menu
CommandDescription
List Masters...Outputs a list of the selected plugin's masters.
List Bash Tags...Outputs a BBCode-formatted list of all the Bash Tags applied to the selected plugin, and where/how the Bash Tags was specified. It can be useful for debugging a broken load order.
Create BOSS Report...Outputs the plugin filename, CRC, and ITM/UDR count for easy reporting of the plugin to an official BOSS thread.
Copy Mod Info...Outputs a report on the selected plugins(s) with the info from the currently displayed columns.
Don't GhostDon't ghost this plugin when it is inactive, even if Auto-Ghost is enabled.
GhostGhost this plugin when it is inactive even if Auto-Ghost is disabled.
Rebuild Patch...Rebuild the selected Bashed Patch using the Python patcher.
Rebuild Patch (CBash *Beta*)...Oblivion only. Rebuild the selected Bashed Patch using the CBash patcher.

Setting Up A Bashed Patch

Bashed Patch Bashed Patch Bashed Patch Bashed Patch
Wrye Bash's Bashed Patch configuration dialog.

Overview

A Bashed Patch is a configurable plugin with three main functions:

A Bashed Patch is created by Wrye Bash the first time you run it, with the plugin being called Bashed Patch, 0.esp. It is configured using the plugin context menu commands Rebuild Patch... or Rebuild Patch (CBash *Beta*).... You should rebuild your Bashed Patch every time you change your load order, before playing the game. The Bashed Patch should be last in your load order, unless you have plugins that explicitly state that they must load last.

The configuration dialog consists of a list of major sections to the left, and the contents of the selected section to the right, with the build and save buttons at the bottom. The sections and their items have checkboxes: checking a section will include all its checked items in the Bashed Patch. Unchecked sections and items will not be included. Some sections don't have any items, and so just need the section checkbox checked.

A short description of each section and some items is displayed near the bottom of the window if the section/item is hovered over. Bolded items are new since the last time the Bashed Patch was built. Wrye Bash will try to auto-configure most sections, but some will still need tweaking.

Note: There are currently two methods of building a Bashed Patch. One uses Python, and the other uses CBash, which is a software library written to speed up the reading of plugins. Both methods offer the same options. The CBash method is faster and allows more types of plugin to be merged, but contains some bugs as CBash is still a work in progress. CBash will become the default in the near future, once its bugs have been fixed. For now, it is probably safer to use the Python method.

Bashed Patch Configuration Buttons
ButtonDescription
Build PatchBuilds your Bashed Patch with the current configuration.
Select All (next to section list)Selects all the options/plugins in a section list. If an option has multiple possible values, the first value in the value list will be chosen.
Deselect All (next to section list)Deselects all the options/plugins in a section list.
Select All (at bottom of window)Selects all sections, and all the options/plugins in all sections. If an option has multiple possible values, the first value in the value list will be chosen.
Deselect All (at bottom of window)Deselects all sections and all the options/plugins in all section list.
Revert To DefaultReverts your Bashed Patch to its default configuration.
Revert To SavedRestores the last saved configuration of your Bashed Patch, undoing any changes since you last built it.
ExportSaves your Bashed Patch's configuration into an external file for backup.
ImportRestores your Bashed Patch's configuration from an exported patch configuration.

Merging Plugins

Plugins that contain only certain types of data records can be merged into the Bashed Patch. This then allows these plugins to be deactivated, freeing up space in your load order.

You should check the checkboxes of all the plugins listed in the Merge Patches section, and ensure the section is checked too. Once the Bashed Patch is built, these plugins can then be deactivated (Wrye Bash will ask to do this for you).

Do not remove merged mods from your Data folder. They will need to be present when you next rebuild your Bashed Patch.

Importing From Plugins

Plugins can be tagged with Bash Tags that tell Wrye Bash that they contain certain changes that should be preserved even if another mod also changes the same things. This is usually because the changes are important to the functionality of the mod. Wrye Bash then allows you to choose which plugins should have which types of changes preserved, by selecting from the various Import sections when building a Bashed Patch.

If a section's description in the table below begins with Preserves and two or more mods in its list change the same thing, then the later-loading plugin will override the other plugin(s). Otherwise changes are merged.

SectionDescriptionWhen You Should Use It
Import ActorsOblivion only. Preserves changes made to actors (ie. NPCs and creatures) by the mods selected.Always, unless you are told otherwise by a mod's readme.
Import Actors: AIPackagesOblivion only. Merges the changes made to actor AI packages by all the mods selected.Always, unless you are told otherwise by a mod's readme.
Import Actors: AnimationsOblivion only. Merges the changes made to actor animations by all the mods selected.Always, unless you are told otherwise by a mod's readme.
Import Actors: Death ItemsOblivion only. Preserves the changes made to the items added to an actor when it dies by the mods selected.Always, unless you are told otherwise by a mod's readme.
Import Actors: SpellsOblivion only. Preserves the changes made to the spells actors have by the mods selected.Always, unless you are told otherwise by a mod's readme.
Import CellsOblivion only. Preserves the changes made by the mods selected to cell settings such as lighting, climate, music, name, owner, water and more.Always, unless you are told otherwise by a mod's readme.
Import FactionsOblivion only. Preserves the changes made to the factions an actor belongs to by the mods selected.Always, unless you are told otherwise by a mod's readme.
Import GraphicsOblivion only. Preserves the changes made by the mods selected to various textures and models throughout the game.The decision is entirely based on user preference. Choose whichever mods' graphics you prefer.
Import InventoryOblivion only. Merges the changes made to the items in an actor's inventory by all the mods selected.Always, unless you are told otherwise by a mod's readme.
Import NPC FacesOblivion only. Preserves the changes made to NPC faces by the mods selected.The decision is entirely based on user preference. Choose whichever mods' NPC faces you prefer.
Import NamesOblivion only. Preserves the changes made to various names throughout the game by the mods selected.The decision is entirely based on user preference. Choose whichever mods' names you prefer.
Import RelationsOblivion only. Preserves the changes made by the mods selected to how factions interact.Always, unless you are told otherwise by a mod's readme.
Import RoadsOblivion only. Preserves the changes made by the mods selected to the landscape's roads.Always, unless you are told otherwise by a mod's readme.
Import Script ContentsOblivion only. Copies scripts from the selected mods into the Bashed Patch.Never.
Import ScriptsOblivion only. Preserves the changes made by the mods selected to the scripts attached to things in the game.Always, unless you are told otherwise by a mod's readme.
Import SoundsOblivion only. Preserves the changes made by the mods selected to various sounds in the game.The decision is entirely based on user preference. Choose whichever mods' sounds you prefer.
Import Spell StatsOblivion only. Preserves the changes made by the mods selected to items in order to fix bugs or rebalance them.Always, unless you are told otherwise by a mod's readme. There is an element of user preference, for instance if you are using several mods that overhaul spell stats. In such cases, choose whichever mods' stats you prefer.
Import StatsOblivion only. Preserves the changes made by the mods selected to spells in order to fix bugs or rebalance them.Always, unless you are told otherwise by a mod's readme. There is an element of user preference, for instance if you are using several mods that overhaul item stats. In such cases, choose whichever mods' stats you prefer.

Applying Tweaks

The Bashed Patch lets you independently tweak a large number of game settings. Each tweak has a description that is visible when you select it. Some tweaks have several possible values, with the current value given in [square brackets] in the tweak name. Right-clicking these tweaks will display a menu from which you can selected a different value. The tweaks are catagorised into different sections.

SectionDescriptionWhen You Should Use It
Tweak ActorsOblivion only. Allows you to change a number of the game's settings relating to actors (ie. NPCs).The decision is entirely based on user preference.
Tweak AssortedOblivion only. Contains a set of miscellaneous tweaks to the game.The Bow Reach Fix and Nvidia Fog Fix are recommended for all users, as they fix bugs that may be uncovered by mods. The DarNified Books option is recommended for users of DarNified UI. Other than those, the decision is entirely based on user preference.
Tweak ClothesOblivion only. Contains a set of tweaks that changes settings relating to the game's clothing.The decision is entirely based on user preference.
Tweak NamesOblivion only. Contains a set of tweaks that changes the names of things in the game. Most change the names to change how they are sorted in your inventory.The decision is entirely based on user preference.
Tweak SettingsOblivion only. Contains a set of tweaks that changes various global and non-global game settings. The UOP Vampire Aging and Face Fix.esp tweak is recommended for all users. Otherwise, the decision is entirely based on user preference.

Other Bashed Patch Options

The Bashed Patch also gives you a number of other sections providing additional functionality besides the above merging, importing and tweaking. These options are described below.

SectionDescriptionWhen You Should Use It
Alias Mod NamesAllows Wrye Bash to recognise some common renamings of plugins that are referenced in .csv data files that it imports as part of some Bashed Patch sections. Renamings should be listed in the text box for this section. The format is Old.esp => New.esp.If you have renamed a plugin that is referenced in a CSV file you have selected in the Bashed Patch's configuration. It is recommended that you refrain from renaming plugins, as it can break parts of Wrye Bash and other utilities.
Replace Form IDsOblivion only. Replaces a set of formIDs with another set of formIDs defined by a .csv file.If you use a mod that tells you to use it.
Cobl CatalogsOblivion only. Updates Cobl's ingredient and effect catalogs to take into account those added by mods you use.If you use Cobl (a.k.a. Common Oblivion).
Cobl ExhaustionOblivion only. Updates greater powers added by the mods that are listed in the selected .csv file options so that they're compatible with Cobl's Exhaustion feature.If you use Cobl's Exhaustion feature.
Contents CheckerOblivion only. Checks that leveled lists and inventories contain the correct types of entries, and removes any incorrect entries.Always.
Leveled ListsMerges changes made to leveled lists by mods to increase compatibility between them.Always. If you don't have any mods that alter leveled lists, the option won't do anything, in which case it doesn't hurt to have it enabled.
Morph FactionsOblivion only. Updates factions so that they are more likely to work with Wrye Morph.If you use Cobl and Wrye Morph.
Power ExhaustionOblivion only. This is an option provided for backwards-compatibility only and was deprecated then finally removed in Wrye Bash v296. Users of Power Exhaustion should upgrade to Cobl and use its Exhaustion feature instead.Never.
Race RecordsOblivion only. Some mods make changes to races and want those changes to be preserved even if another mod changes the same race. This ensures that those changes are kept. It also checks for and fixes various errors such as googly eyes and missing hair or eyes. It also has a section of race tweaks which the user can select as desired.Always, even if there are no mods listed on the right.
SEWorld TestsOblivion only. Fixes quests that aren't suspended while your character is in the Shivering Isles. This doesn't apply to mod-added quests, it only restores suspension to vanilla quests where mods have removed it.Always. If you don't have Shivering Isles, the option won't do anything, in which case it doesn't hurt to have it enabled.

Applying Ini File Edits

INI Edits Tab INI Edits Tab INI Edits Tab
Wrye Bash's INI Edits tab, editing Oblivion.ini, Oblivion's configuration file, and All Natural.ini, a mod's configuration file. (Animated slideshow.)

Overview

The Ini Edits tab allows the user to quickly apply edits to Oblivion.ini or Skyrim.ini, depending on your game, and mod-added ini files, including those containing scripts used to configure mods. Edits are applied from ini tweak files, which are just a text file that contains only the lines of the ini that you wish to change. Ini tweaks are stored in the Data\Ini Tweaks folder, and may be installed through BAIN or placed there manually.

The drop-down box allows you to select the current ini file. The Browse... option in the drop-down box can be used to select an ini file not listed.

Selecting a tweak will display its contents in the middle column, and highlights the changes it applies to the current ini file in the right column. To apply a tweak, right click it and select Apply.

Warning: Incorrect Oblivion.ini or Skyrim.ini settings can cause bugs, CTDs or other damage to your game. Advanced settings in particular tend to be machine-specific and should not be casually copied from one computer to another.

What Symbols & Colours Mean

Checkbox StyleMeaning
OrangeSome or all the variables the tweak sets do not exist in the current ini file.
GreenThe variable values in the current ini file do not match the values set by the tweak.
Yellow with DotSome, but not all, of the variable values in the current ini file do not match the values set by the tweak.
Green with DotSome, but not all, of the variable values in the current ini file do not match the values set by the tweak. The values that don't match another tweak from the same installer.
Green with CheckTweak is applied.
Text FormattingMeaning
Orange BackgroundThe specific heading or tweak is invalid for the current ini file.
Yellow BackgroundThe specific variable value does not match the value in the current ini file.
Green BackgroundThe specific variable value matches the value in the current ini file.

Buttons & Context Menu Commands

Ini Edits Tab
ButtonDescription
RemoveRemoves the current ini file from the drop-down selection box.
Edit...Opens the current ini file for editing in the default text editor.
Column Header Context Menu
CommandDescription
Sort ByThis submenu allows you to choose by which column the save list is sorted. This is equivalent to clicking on a column header.
ColumnsThis submenu allows you to choose which columns are visible in the save list.
Allow Tweaks with New Lines
Open...
List Active INIs...
Tweak Context Menu
CommandDescription
ApplyApplies the tweak to the current ini file.
Create Tweak with current settings...Creates a new tweak with the same settings as the selected tweak, but uses the values in the current ini file.
List Errors...If the tweak is invalid, this will show you which entries in the tweak don't exist in the current ini file.
Open...Open the tweak for editing in the default text editor.
DeleteDelete the tweak.

Launching Applications

launcher launcher launcher launcher launcher launcher launcher launcher launcher launcher
Wrye Bash's launcher bar, at the bottom of its main window.

At the bottom left of Bash's main window you'll find launch buttons for your game and other applications if they're installed. You'll also find a few toggle buttons and some Wrye Bash feature buttons. Each of the application buttons will be present if the corresponding application is present in the game install directory, or in their default install location if the application is not game-specific.

Clicking an application's icon will launch it, and clicking a toggle button will change the state of the toggle. Clicking a Wrye Bash feature button will open that feature's window.

Toggle Buttons

Icon (On)Icon (Off)TogglesBehaviour
checked green checkboxunchecked green checkboxScript ExtenderWhen checked this will launch the game's Script Extender when either the game or game's editor (Construction Set or Creation Kit) buttons are clicked. If the LAA Launcher also launches the game's Script Extender, then unchecking this toggle will also uncheck the LAA Launcher toggle.
checked blue checkboxunchecked blue checkboxLAA LauncherWhen checked this will launch the LAA Launcher when the game button is clicked. If the LAA Launcher also launches the game's Script Extender, checking this will also check the Script Extender toggle.
checked red checkboxunchecked red checkboxAuto-QuitIf checked this will cause Bash to quit when launching the game. This is useful if you're concerned about memory usage.

Game & Editor Launchers

The game and editor icons displayed will depend on which supported game you have Wrye Bash installed for. Using Wrye Bash's game launcher opens the game itself, rather than the game's launcher.

OblivionSkyrim
IconApplicationIconApplication
Oblivion iconOblivion Skyrim iconSkyrim
Oblivion CS iconTES Construction Set Creation Kit iconSkyrim Creation Kit

Game-Specific Utilities

Tes4Edit, Tes4Trans and Tes4view are just different modes of Tes4Edit.exe and will be available if Tes4Edit.exe is available. Tes4Gecko & Oblivion Book Creator will be available if the javaw.exe is present in Windows\System32 and their .jar file is present in Oblivion install directory or for OBC in the data directory. The BOSS launcher has some options if BOSS v2 is installed:

OblivionSkyrim
IconApplicationIconApplication
tool imageOblivion Mod Manager tool imageBOSS
tool imageInsanity Sorrow's Oblivion Launcher
tool imageInsanity Sorrow's Readme Generator
tool imageInsanity Sorrow's Random Name Generator
tool imageInsanity Sorrow's Random NPC Generator
tool imageOblivion Face Exchange Lite
tool imageOblivion Mod List Generator
tool imageOblivion Book Creator
tool imageBSA Commander
tool imageTabula
tool imageTes4Files
tool imageTes4Gecko
tool imageTes4View
tool imageTes4Edit
tool imageTes4Trans
tool imageTes4LodGen
tool imageBOSS
tool imageInteractive Map of Cyrodiil and Shivering Isles

Other Applications

Model ToolsTexture ToolsAudio ToolsMisc
IconApplicationIconApplicationIconApplicationIconApplication
tool imageArt of Illusion tool imageAniFX tool imageAudacity tool imageFraps
tool imageAutoCad tool imageArtweaver tool imageABC Amber Audio Converter tool imageLogitech G11 Keyboard Profiler
tool imageBlender tool imageCrazyBump tool imageSwitch tool imageMedia Monkey
tool imageGMax tool imageDDSConverter tool imageNotepad++
tool imageMaya tool imageDeepPaint tool imageSteam
tool image3ds Max tool imageDogwaffle tool imageEVGA Precision
tool imageMilkShape 3D tool imageGenetica tool imageWinMerge
tool imageMudbox tool imageGenetica Viewer tool imageFreeMind
tool imageSculptris tool imageGIMP tool imageFreeplane
tool imageSoftimage Mod Tool tool imageGimp Shop tool imageFilezilla
tool imageSpeedTree tool imageIcoFX tool imageEgg Translator
tool imageTreed tool imageInkscape tool imageRAD Video Tools
tool imageWings3D tool imageIrfan View tool imageWinSnap
tool imageNifskope tool imageFastStone Image Viewer
tool imageMaPZone
tool imageMyPaint
tool imageNVIDIAMelody
tool imagePaint.NET
tool imagePaintShop Photo Pro
tool imagePhotobie Design Studio
tool imagePhotoFiltre
tool imagePhotoScape
tool imagePhotoSEAM
tool imagePhotoshop
tool imagePixel Studio Pro
tool imagePixia
tool imageTextureMaker
tool imageTwisted Brush
tool imageWindows Texture Viewer
tool imagexNormal
tool imageXnView

Wrye Bash Feature Launchers

IconFeatureDescription
tool imageBashMonOblivion only. This launches bashmon.py in a command shell window, for use with Wrye Morph.
tool imageDoc BrowserShow the Doc Browser. (You can also view the doc browser by double clicking on any mod file in the Mods tab.)
tool imageMod CheckerShow the Mod Checker.
tool imageSettingsBrings up the Settings Menu.
tool imageHelpShow this help file in the default web browser.

Troubleshooting

Generating A Bug Dump

If Wrye Bash encounters an issue, it will generate a bug dump that will appear in a popup window. If an issue is encountered during startup, Wrye Bash may be unable to create the popup window, and so the bug dump will be saved to a log file, either bash.log or Wrye Bash.exe.log depending on the version of Wrye Bash you use. If no log file is present, then you will have to generate it yourself, using the steps below.

  1. Open a command prompt. This can be done by selecting Start->Programs->Accessories->Command Prompt.
  2. Change the working directory to the Mopy directory. E.g. cd /D "C:\Program Files\Bethesda Softworks\Oblivion\Mopy" if Wrye Bash is installed for Oblivion.
  3. If using the Python version of Wrye Bash: Run "Wrye Bash Debug.py" -d > bash.log. If using the Standalone version of Wrye Bash: Run "Wrye Bash.exe" -d.

The log file will detail the cause of the problem that is stopping Wrye Bash from starting. Read it and the rest of this section to see if the problem is something you can fix yourself. If not, report it to an official Wrye Bash thread for support.

File Permissions

If you are running Windows Vista or later, Wrye Bash (and other modding programs) may be prevented from working correctly by the UAC security feature. There are four common workarounds to this problem:

  1. Install the game outside Program Files or Program Files (x86). UAC prevents unauthorised edits to these folders, so by installing the game outside of them, you remove it from UAC's reach, allowing you to use mods more easily. Steam users can move their Steam installation and games using these instructions.
  2. Deactivate UAC. This can be done from the Control Panel, and will turn UAC off across the whole of your computer. It is up to you whether you feel that you have adequate security measures in place to do this without risk.
  3. Give yourself Full Control permissions over your game install folder. This will allow you to make any edits you desire while keeping UAC active and on guard for any edits made by programs you do not run, and also means that you do not need to reinstall your game to a new location.
  4. Do nothing. Wrye Bash will detect if it needs to run as Administrator, and give you a dialog with a few opotions:
    1. Start Wrye Bash as Administrator: This will give Wrye Bash full Administrator Rights, allowing it to function fully with no further action, with one exception:
      • You will not be able to drag and drop archives into the Installers window to move or copy those archives into BAIN. This is because non-Admin processes (explorer.exe) are not allowed to communicate with Admin processes (Wrye Bash) in this manner.
    2. Start normally. This will start Wrye Bash without Administartor Rights.
      • Many actions that require Administrator Privileges will cause a UAC prompt to be shown. Commonly, these are:
        • The first time Wrye Bash is started, approximately 4-6 times, depending on the number of directories Wrye Bash needs to create.
        • When the Bashed Patch is rebuilt, 2 times, once for the Bashed Patch itself, once for the associated readme.
        • Installing, Uninstalling, Annealing, and other operations in the Installers Tab that require modification of the game's Data folder.
        • On shutdown, you may be prompted multiple times when saving various .dat files to the Bash Installers and Bash Mod Data folders, if these folders are under UAC protection.
      • A few actions are restricted:
        • Saving files into the UAC protected area: Windows does not allow the Save File dialog to select a target within a UAC protected folder.
        • Ghosting: Wrye Bash will not be able to un-ghost already ghosted mods. Wrye Bash will not ghost mods. Both of these require renaming mod files.
        • Other actions that require Administrator Privileges may not have workarounds coded. Be warned, any errors you encounter while running as a non-Admin under a UAC protected directory will most likely not be fixed. Follow one of the alternate solutions to solve these errors.
    Launching Wrye Bash with some command line switches can avoid this dialog:

For those that wish to take the third option and give themselves Full Control permissions, here is a guide:

  1. Right-click the folder you wish to change the permissions for, and select Properties.
  2. In Properties, select the Security tab, and click the Edit... button. A UAC prompt may appear, simply allow yourself to continue.
  3. In the Group or user names box, select the Users option.
  4. In the lower box, check the box opposite Full Control in the Allow column. Press OK to exit. If a UAC prompt appears, allow the change.
  5. In the Properties window, select OK to exit. You should now have Full Control permissions over your chosen folder.

Backing Up & Restoring Settings

The easiest method is to just run the Backup Settings and/or Restore Settings commands, which are available in the Settings menu. These commands do not backup/restore any mod files or saves, just the Wrye Bash settings/data. When run, the commands ask you for the location you wish to back up to or restore from.

If you wish to manually back up your settings, the directories Wrye Bash stores files in are below.

DirectoryContents
[Game]\Mopy Main Bash files. If you're working on any localisation files in Mopy\l10n you may want to back them up.
[Game]\Data\Bash Patches Contains CSV files used by the import/export functions. Back up any CSV files you've exported and want to keep.
[Game]\Data\Docs Contains mod readmes. Doesn't need backing up.
[Game]\Data\INI Tweaks Contains ini tweaks. Only needs backing up if you've added custom ini tweaks.
Documents\My Games\[Game] Contains Wrye Bash settings. It is important to back this up.
[Game] Mods (in the same folder as [Game])Contains BAIN packages and other Wrye Bash settings. it is important to back this up.

How To Report Bugs Helpfully

Bugs should be reported in an official Wrye Bash thread (links can be found in the Contact section of this document). In order to best help you, the following information is required.

Known Bugs

Wrye Bash, being a complex program, has a few bugs that are known to its developers. The team is aware of the issues below and will fix them if possible.

Common Issues

IssueCauseSolution
Can't find bash.pyWrye Bash is being run from the wrong directory.Make sure you are generating the log from the Mopy directory.
Can't Find User DirectoryThe PyWin32 Python module is not installed correctly.Install the Wrye Python package correctly.
Can't Find wxversionUnknownUninstall then reinstall Python and wxPython (in that order).
No module named wxYou haven't installed wxPython successfully or you haven't installed it in the right place.Install the Wrye Python package correctly.
The NTVDM CPU has encountered an illegal instruction.This is a Python issue that causes the installation of PyWin32 (part of the Wrye Python bundle) to fail. One workaround is to use the Standalone version of Wrye Bash. The alternative is to download PyWin32 separately and install it after installing Wrye Bash.
Generating comtypesLaunching Wrye Bash for the first time after installing ComTypes (part of the Wrye Python bundle).Not an error. Close the popup produced.
Memory Error. This causes a debug output like the following to appear. Traceback (most recent call last): File "F:\Bethesda Softworks\Oblivion\Mopy\bash\basher.py", line 5349, in OnCloseWindow self.SaveSettings() File "F:\Bethesda Softworks\Oblivion\Mopy\bash\basher.py", line 5361, in SaveSettings self.notebook.GetPage(index).OnCloseWindow() File "F:\Bethesda Softworks\Oblivion\Mopy\bash\basher.py", line 2554, in OnCloseWindow bosh.modInfos.table.save() File "F:\Bethesda Softworks\Oblivion\Mopy\bash\bolt.py", line 2158, in save self.hasChanged = not dictFile.save() File "F:\Bethesda Softworks\Oblivion\Mopy\bash\bosh.py", line 315, in save saved = bolt.PickleDict.save(self) File "F:\Bethesda Softworks\Oblivion\Mopy\bash\bolt.py", line 1910, in save cPickle.dump(data,out,-1) MemoryError This is Wrye Bash running out of memory while trying to save its settings. Usually this will occur when a user has a very large BAIN setup, and it will happen after rebuilding the Bashed Patch. Saving Wrye Bash's settings involves some memory overhead, so usually happens while saving settings. If you start seeing this error, it means you have enough information in BAIN to push Wrye Bash to the 2GB limit of memory for 32-bit applications. Either:
  • Avoid rebuilding the Bashed Patch after using BAIN. Instead, restart Wrye Bash, then rebuild the Bashed Patch.
  • If running the Python source, try enabling the LAA flag on python.exe and pythonw.exe. For 64-bit OS users, this may allow Wrye Bash up to almost 4GB of memory before crashing.
  • If running the Standalone executable, try enabling the LAA flag on Wrye Bash.exe.
  • If you do not need access to CBash, you can setup your Python environment using 64-bit Python.
Wrye Bash will not start, and no Bug Dump can be generatedWrye Bash is installed in a directory with unicode characters, and the Python interpreter has problems importing files in such directories.Reinstall Wrye Bash to a directory without unicode characters.

Credits

Monkey God of Modding

Current Maintainers

Past Authors

Additional Credits

Homage Credits

Aka. ideas/stuff stolen from other people.

Contact

If you have a question/comment about Wrye Bash, it's best to post it on the current RELZ topic on the Bethesda Game Studios (BGS) forums.

License

Wrye Bash is released under Version 2 of the GNU General Public License. See enclosed license.txt file for license details, or visit the GNU Website for information on all their licenses.

Packaged Programs

Additionally, Wrye Bash comes packaged with the following programs:

Advanced Readme Topics

This final section gives a brief summary of what may be found in the Advanced Readme. The some of the topics covered are:

The Advanced Readme is a more technical document aimed more towards mod authors and advanced users of Wrye Bash than the average user. If you find yourself wanting to know more, or not understanding why something in Wrye Bash behaves the way it does, then the answer you seek may be found in the Advanced Readme.