Guide:XEdit
About xEdit
xEdit is an advanced tool for the analysis and editing of Bethesda's game plugins. It operates by loading one or more plugins (.esl/.esp) and their respective masters (.esm), then presenting their contents within a dedicated user interface. This tool offers an organized layout and practical navigation controls to visualize the data within the loaded plugins. Moreover, it provides robust editing capabilities, enabling the ability to clean, modify, or even create new plugins for mods and mod patches.
xEdit originally emerged under the development of ElminsterAU as "TES4Edit" for Oblivion. Over time, and thanks to the contributions of authors Hlp, Sharlikran, and Zilav, xEdit was updated to support various Bethesda titles: Fallout 3 (FO3Edit), Fallout New Vegas (FNVEdit), Fallout 4 (FO4Edit), Skyrim (TES5Edit), Skyrim SE (SSEEdit), and Starfield (SF1Edit). Within the modding community, all these versions of the tool are collectively referred to as "xEdit." Consequently, the term xEdit is often used to discuss the tool, regardless of the specific game version it pertains to. It's important to note that no matter which version is downloaded, they all share the same executable bearing different names.
Glossary of Terms
A small glossy is provided to help gain understanding of the terms used throughout this Guide (see References - Nomenclature).
Support
For support with xEdit, please see References - Related Content and Links.
Installing xEdit
Installation
- Download the official release from GitHub or Nexus Mods
- Extract the archive to the desired folder
- Step recommends using a "Tools" folders as standard practice (see: System Setup Guide).
- Depending on the installation type complete one of the following:
- Manual: installation is complete; however, it's recommended to create a shortcut for easy access and to apply arguments
- Mod Organizer: xEdit will have to be added to the executable list before use
Launch Arguments
Below is a table of common arguments that may be applied to shortcuts or within MO to control the behavior of xEdit at launch. For the full list of argument available, see Advance Topics - Launch Arguments. When adding multiple arguments, they should be separated by a space (e.g., -FO4 -l:fr -IKnowWhatImDoing
).
Argument | Description |
---|---|
-AllowMasterFilesEdit | Requires: -IKnowWhatImDoing xEdit no longer allows editing of master files (ESMs) to prevent unwanted edits that may cause issues. This argument re-enables editing of master files. |
-autoload | Skips the Plugin and ModGroup selection windows, loads all plugins that are active according to plugins.txt, and loads all valid ModGroups. |
-D:<path> | Sets the path to the game's Data directory. |
-<game> | Sets xEdit to run for a specific game. The name of the xEdit executable is ignored when using this argument. Valid values are:
|
-IKnowWhatImDoing | Unlocks advanced features for editing. |
-l:<language> | Sets which STRING files to use for displaying localized plugins strings. |
-o:<path> | Sets the output path for newly created files. |
-quickclean | Enables an auto-cleaning feature in which a filter is applied only for the selected plugin. Then "Undelete and Disable References" and "Remove 'Identical to Master' records" functions are executed on the selected plugin. This argument also automatically turns off "Simple Records" and applies the -IKnowWhatImDoing argument.
|
-quickautoclean | Same as -quickclean above, but the cleaning sequence is repeated 3 times, saving the plugin after each iteration, and finally the "BOSS/LOOT Cleaning Report" is executed.
|
-quickshowconflicts | After confirming plugins to be loaded, this argument automatically loads all valid ModGroups and applies a filter to show conflicts. |
-resetsettings | Resets all xEdit settings to default.
|
Post-Installation: Language Setup
If using a non-English game installation, there is an additional step required.
To set the language once the session is loaded:
- Launch xEdit (see "Launch and Basic Features" section below).
- Right-click anywhere in the left pane to bring up the contextual menu
- Navigate to Other -> Localization -> Language -> Choose desired language.
- Available options are dependent on the string-translations files found in:
../Steam/steamapps/common/GameFolder/Data/Strings/
- To prevent having to modify the language each time xEdit is started, it's possible to start with an argument with via a shortcut or setting it in MO:
-l:<language>
replace <language> with the language of choice (en
for English,fr
for French, etc.).
- Available options are dependent on the string-translations files found in:
Additionally, if using xEdit to work with Fallout 4, languages with accents will need UTF-8 encoding support. To do so, xEdit must be started with the following argument:
-cp:utf-8
Launch and Basic Features
xEdit is launched by simply double-clicking the icon or by launching the executable via a mod manager that supports it (e.g., Mod Organizer or Vortex). The game folder and the current load order (LO) will be automatically detected.
Loading Plugins
The first menu is the Master/Plugin Selection Menu. This menu is used to determine the plugins that will be loaded into xEdit. By default, plugins are sorted according to the load order and all active plugins are ticked. On top of the menu, is a "Search" field to quickly search for plugins within large load orders.
- Load plugins for the session:
- use the default selection (all active plugins)
- right-click and select [Select None] from the menu, then tick the desired plugin(s) to load
- right-click and select [Select None] from the menu, then double-click on a specific plugin to load only it and required masters
- This will not load other plugins that the double-clicked plugin may require, but are not listed as masters.
- manually tick/untick plugins
- right-click and select [Select All] from the menu to tick every plugin listed
- right-click and select [Invert Selection] to tick the unticked plugins and untick the ticked plugins
- Even if unticked, masters of loaded plugins will always be loaded, as well.
- Once the desired plugins are selected, click the [OK] button or press Enter/Return to load the list
- xEdit will now build references and databases
- Messages will display on the "Messages" tab and in the status bar while building. Depending on the user system, number of plugins, and plugin sizes, the building operation may take up to ten minutes.
- Once complete,
[XX:XX] Background Loader: finished
will be printed to Messages
First Edit Warning
The first time an edit is made during a new session, xEdit will display an explicit warning to ensure the edit was desired.
- Clicking [Hmm.. let me think about it some more] or pressing N cancels the edit.
- The warning will appear, again, the next time an edit is made.
- Clicking [Yes I'm absolutely sure] or pressing Y will allow the edit.
- Once this option is selected, the warning will not appear again for the current session.
- The warning can be disabled for all sessions by using the
-IKnowWhatImDoing
argument.
Saving Changes and Exiting
By default, xEdit will present a notification of unsaved work during a lengthy session so that work is not lost. This can be done via the File menu or by using Ctrl+s. This saves the work of the current session as a backup using the backup naming scheme (described below in Save Menu). The plugin isn't fully saved until xEdit is closed and it launches the Save Menu.
Save Menu
Exit xEdit by using the File menu, pressing Alt+F4, or simply click the close button on the window. If nothing has been modified, exiting will simply close xEdit. If edits were made, a Save Menu will be presented. The Saving Menu is similar to the Master/Plugin Selection Menu, except only plugins altered during the session are listed. A search bar is provided for long lists and a Backup Plugins checkbox is available.
When the "Backup plugins" box is ticked, the original plugin will be saved under the <xEdit> Backup
folder within the game's Data folder. Plugin backup names are modified from PluginName.esp
to PluginName.esp.backup.YYYY_MM_DD_HH_NN_SS
. The appendage after 'backup' is the timestamp.
Complete a Save
To save changes made to a plugin:
- Ensure the plugin(s) is ticked in the Save Menu
- Unticked plugins won't be saved.
- Tick or untick the Backup plugins box as desired
- Click [OK]
Exit without Saving
To exit without saving any of your changes
- Right-click on the plugin list and click [Select None] to untick all plugins
- Click [OK]
WARNING
Clicking the "close" button on the window of the Save Menu has the same effect as simply clicking [OK] without making any changes! The only way to exit without making changes is to follow the instructions under Exit without Saving, above.
Options Menu
The options menu is available once a session is running. To open it, right-click anywhere in the Left Panel, navigate to "Other", and click [Options].
General
- Hide unused: Default: Checked.
- Hide ignored: Default: Unchecked.
- Hide "never shown": Default: Checked.
- Hide templated fields on actors: Default: Checked.
- Load BSAs: Default: Checked.
- [FO3/FNV] Sort FLST: Default: Checked.
- Sort INFOs: Default: Unchecked.
- Remove OFST offset data: Default: Checked.
- Simple records LAND, NAVI, NAVM, CELL, WRLD (requires restart): Default: Checked. Require to restart xEdit for the changes to take effect.
- Show values of flags and enumerations (requires restart): Default: Unchecked. Require to restart xEdit for the changes to take effect.
- Show elements count for group records: Display the number of records a group contain in the tree panel. Default: Unhecked
- Clamp FormIDs: Default: Checked.
- Auto save: Enable auto save. Will prompt you after a certain amount of time spent in xEdit if you want to save your changes Default: Unchecked. see also Exit and Save section
- Track all EditorID: Default: Unchecked.
Cleaning
This tab allow to set preference regarding the "Undelete and Disable Reference" functionality. see Undelete and Disable Reference functionality section
- Set enabled state opposite of player (deactivate at your own risk, this is a critical setting) : Will set the "disabled" flag on un-deleted references. Should always be left enabled.
- Set scale to : If enabled, the UDR will be scaled to the specified size.
- Set Z position to : If enabled, UDR will be moved at the specified Z position.
- [FO3/FNV] Replace MSTT FormID with :
References building
This tab allow to prevent auto-build of references at the session start for specific plugins. see Build Reference Info functionality
Use [Add] to select plugins to exclude from the list of loaded plugins, and [Delete] to re-enable auto-build references for selected plugins.
UI Settings
Conflict Color Font and Conflict Color Background
- These settings change the color used to identify conflicting states in xEdit.
- WARNING:As the default color is the standard used in related discussions and guides, including this one, it is highly discouraged to modify it. see Color Code in xEdit section
Records Font, Messages Font, and Viewer Font
- These settings change the font used in the related parts of the UI. Defaults are:
- font: "Segoe UI"
- style: normal
- size: 9
- Column width: Set the standard column width for the view tab. Default: 200. see View Tab section
- Column width: Set the standard line height for the view tab. Default: 18. see View Tab section
Interface
The Navigation Bar displays the internal path to the current selection. Note that it will only appear once something has been selected in the Tree View. The two buttons on the right of the bar allow movement to the previous or next element.
The location displayed in the text field is formatted as follows: [XX]PluginName.esp/GRUP/../FormID <EditorID>
- XX is the index of the plugin currently being looked at in the session's load order
- PluginName.esp is the name of the plugin currently being viewed
- Group is the group of records being viewed
- .. can contains additional sub-groups when relevant
- FormID is the formID of the record being viewed
- EditorID is the Editor ID of the record being viewed
The plugin "being viewed" is whatever is currently selected in the Tree View, and is displayed in the View tab of the right panel, if it's a record.
NOTE
xEdit SelectionThe current selection displayed in the Navigation Bar will be refereed to as "xEdit Selection", "Selection" or "selected element" for the rest of this guide
Tree Panel
The Tree Panel, on the left, display plugins loaded in the session.
There is an additional <gamename>.exe, which is at the same load order position as the main game plugin, e.g. Skyrim.esm (should always be [00]).
Skyrim.exe represents "hard-coded records". They are those available in the official modding tool by default when creating a "blank" project. These records are actually located in the <gamename>.Hardcoded.keep.this.with.the.exe.and.otherwise.ignore.it.I.really.mean.it.dat file located in the xEdit installation folder (this file is actually a renamed .esp file), and are loaded alongside their related master file automatically.
Two search-fields "FormID" and "EditorID" are available above the tree, which allows to search a specific record, knowing either it's FormID or EditorID.
While searching by FormID is extremely fast, searching by EditorID take a lot of time, and will only center the view on the first record having a partial match with the term.
The Tree Itself contains 3 columns : "FormID", "EditorID" and "Name". While it's impossible for a record to have no FormID, bad manipulation in the CK can lead to Blank EditorID. "Name" is optional, or even unavailable for certain records, thus not all records have one.
For Cells' records, the name will be the coordinates of this Cell in the worldspace : < X, Y>
Fro groups, if Show elements count for group records is ticked in the options, the number of records for this group will be indicated in the Name column. see Options
Plugins loaded in the session appears with an [XX] prefix, which represent their position in the session's load order as an hexadecimal number.
Sorting
When looking for a specific record, it can be useful to sort the Tree Panel table by FormID, EditorID or Name, depending on the information known about the record(s) to find. To do so, a simple click on the desired column header will sort the table.
When sorting the table as such, it's recommended to right-click on the column header to bring up the contextual menu, and select Files -> Always by Load Order. This way, sorting the table won't affect the order in which plugins are displayed in the tree, but instead sort the records in each of them according to the chosen sorting column.
Other options for this contextual menu are "As Selected" (default), which will sort everything, plugins and records alike, and "Always by Name", which will maintain plugins sorted in the tree by alphabetical order instead of their load order position. This last option can be useful to quickly find a plugin in the tree when only knowing its name but not its position in the load order.
It's possible to expand/collapse each plugin to see it's content. This can be down by clicking on the + icon on the left of the plugin's name, by double clicking on the plugin's name, or by pressing → when the plugin is selected. To quickly browse elements in the Tree Panel, it's possible to use ↑ and ↓ keyboard controls to select elements, as well as → and ← to expand or collapse clusters.
When expanding a plugin, it display a list of "records category" called GRUPs. GRUPs can usually be expanded as well. When expanding a GRUP, depending of it's type, it will either display a list of records, or a list of sub-GRUP. Records cannot be expanded on the Tree Panel, instead their data are displayed in the Right Pane when they are selected.
When the focus is ont the right pane, it is possible to move and expand/collapse groups in the Three Panel by holding Alt and using the arrow keys.
Interactions and Available Information
The line of a plugin indicate its load order position in the current session, and its name and extension (.esp or .esm).
When a plugin is expanded, it show its content, always including a "File Header" line, plus the list of GRUPs this plugin have record associated in. If a plugin only has the File Header and no GRUP, this is what is called a dummy plugin. Dummy plugins are usually intended to force the game to load an associated .bsa file.
The line of a GRUP only display its name. Once expanded, a GRUP displays every record in the plugin belonging to this GRUP.
The line of a plugin matches the tree's table columns : | FormID | EditorID | Name (if any) |
Additional information is available with the color, background-color and font-style of each line. see Color Code in xEdit section
Right-clicking in the Tree Panel will bring up a contextual menu. Depending on what have been clicked on, and the version of xEdit used, available functionalities in this menu will vary. Some are specific to a game, and others are only available for a plugin or record. see Simple Functionalities section, see Advanced xEdit Functionalities section
Right Pane
The right pane is divided in two parts : One for the actual content, and one to choose a tab, to choose which content to display. Available tabs are :
- View : Will be blank if a GRUP is selected in the Tree View. Will display record's data of the selected Record if one is selected in the Tree View.
- Referenced By : Only available if a pertinent record is selected in the Tree View. Display a 2 columns table listing every records referencing the one selected, and the plugin they belong to.
- Message : This is the console output for TES5Edit. This is where information related to what is processed are displayed, and serve as log as well. see Errors and Log : The Messages Tab
- Information : This is a static page with some basic information on how to use the application.
- Spreadsheets : There is 3 spreadsheets available : Weapons, Armor and Ammunition. They're used to list every available item from its associated category present in a selection of mod. see Spreadsheet section
View Tab
When a record is selected in the Tree pane at left, its data are displayed in the View pane at right. If not already in this tab or the Reference tab, xEdit will automatically bring it up. The View tab is typically the 'working' area.
The xEdit View tab is a table. The 1st column on the left provide information about the label of each row displayed:
- The 1st set of rows constitute the Record Header of the selected record.
- Each row named this way : XXXX - Some Wording represent a field, i.e. a piece of information defining the record.
- XXXX is the signature of this field.
- Some Wording is a name associated with this signature by the xEdit interface, for easier understanding.
It isn't part of the game data structure. Depending on cases, it is possible to see the same name associated with different signature.
- The 1st sub-record of the table, no matter for which type of record is selected, is always EDID - Editor ID. This sub-record define the EditorID of the record (also used and displayed in the Tree Panel).
- Non-indented row without a signature in their label are irrelevant of the actual file structure. They doesn't represent a field. They are generated by the xEdit interface to allow easier reading and editing. They either represent a list of similar field, or a pack of field that are usually edited together.
While field associated by the xEdit interface to such list or pack are indented in the View tab, they represent a whole field as much as any others. - Indented Rows without a signature in their label are simple sub-elements belonging to a field. They doesn't represent a whole field either. The indentation allow to see which field such element belong to. They're displayed on their own line for reading convenience.
A block of row following a hierarchical parent-child structure is what is called a node. A node with no childs is a pit-node, but a node none the less. A node can either be a field, a list/pack of field, or a list/pack of sub-elements belonging to a field. A node differ from a row as it refer to both the parent row and all of it's child nodes. It is an important concept, as in xEdit it is possible to copy/delete/edit nodes as a whole.
Other columns are "plugins columns", they represent the record as it is saved in a plugin. There is as much plugin columns as there is mod in the load order session overriding the selected record. (minus mod which have seen their record hidden by the user. see "Hidden" Functionality section).
The title of a mod column is the same as the plugin's line in the Tree Panel : [XX] ModName.esp
Mod columns width can be resized manually, of by clicking anywhere in the View tab and right-clicking to bring up the contextual menu and using options from the "Column Widths" sub-menu. Options for column widths are :
- Standard : Each column width is set to the same standard. The standard is defined in the options' General tab. (default : 200) see Options section
- Fit all : Each column width (excepted the title column) is adjusted to be the same, modified in order to see every columns in the tab without the need to use the horizontal scroll bar.
- Fit text : Each column width is set independently, in order to have data fully displayed in each field without being truncated.
The entry at the intersection of a row and a column will usually be referred to as a "field data" or "data" for short in the following guide. Depending on which field this data is associated with, it will be of different type. However, xEdit allow to modify any kind of data like a string.
Field datas may vary from a plugin to another and are what xEdit is mainly designed to analyze and edit. When two distinctive and independent plugins try to set a different field data for the same sub-record, this create what is called a conflict. The plugin loaded last in the load order is referred to as the "winner", with a green font color in xEdit, and the other one as the "looser", with a red font color.
NOTE
This is't the only way a conflict can arise. Two plugins editing two different fields of the same record will create a conflict as well. This known as the rule of one.In a similar situation, except where the winner plugin would refer the looser as an explicit Master, this isn't considered a conflict, since the winner is actually expected to modify some of its master's record. The master is then displayed with a purple font color. More information on this subject are available in the Guide about plugins files and in the #Color_Code_in_xEdit Color Code in xEdit section of this guide.
Hide no conflicts row Functionality
When browsing through records to detect and analyze/resolve conflicts, it is interesting to use the Hide no conflicts row feature, by right-clicking anywhere in the View tab and checking this option.
To re-enable every rows, the same operation will restore hidden rows, "Hide no conflicts row" behave as an ON/OFF toggle.
NOTE
Records without conflicts and single records will display as a completely blank View tab.
"Hidden" Functionality
In specific cases, it can be interesting to hide a record from a specific plugin to analyze conflicts and overrides between specifics plugins only, ignoring others. To hide a column from the current View, right on its header and select Hidden.
This functionality only hide a single record, not the whole plugin.
This functionality can also be used in a record on the Tree Panel for the very same result. Hidden records will be displayed in a light-grey font color in the Tree Panel. To re-enable a column's visibility, re-do the same operation. "Hidden" behave as an ON/OFF toggle.
Records that have been hidden this way will have their font-color changed to an extremely light-grey in the tree panel.
To navigate from one plugin to another in the same record, the "Jump To" feature from the contextual menu (right-click on the column's header of the plugin you want to jump to) can be used. It's useful as it will quickly re-focus the Tree Panel on the record in the plugin jumped to, allowing to check which other records from this plugin and GRUP could need the same attention. The currently focused plugin containing the visualized record can be checked by looking at the Navigation bar.
To visualize the content of a record referenced in a field data, use Ctrl +Left Click. This will refresh the View tab to display this record's data, and focus the Tree View on this record. To quickly come back to the previous record view, use the previous button from the Navigation Bar.
Reference Tab
On the left of the footer is displayed the last line of Information you can find under the "Messages" tab in the right pane.
On the right is a quick link to access TES4Edit's flattr page, where you can donate to ElminsterAU, the original author.
Cleaning plugins with xEdit
Plugins often required cleaning in xEdit to remove unnecessary and erroneous edits like identical to master (ITM) records and to undelete and disable references (UDR). The xEdit can be configured for cleaning as an executable in MO:
- Run xEdit executable for cleaning from the executable list in Mod Organizer (if you are not using Mod Organizer, simply run it manually).
- Double-click the plugin to be cleaned.
- Wait for the [Removing "Identical to Master" records done] and [Undeleting and Disabling References done] messages.
- Then click the [X] to exit the program
- At the prompt, make sure the cleaned plugin is checked as well as Backup Plugins and click OK.
- If using Mod Organizer, there will be an empty xEdit Backups folder in Overwrite (essentially a fake mod located at the bottom of the left pane if sorted by priority ascending) created by xEdit after cleaning. Double-click Overwrite and delete the empty folder.
Reading, Analysis and Manipulation
Color Code in xEdit
The color code in xEdit is designed to make it easy to spot overrides and conflicts in the session.
There is two different colorations for each element : the background color, and the text color.
Background Color
The background color of a given element is the same across all plugins. The background color represent the state of this element in the session.
White : Single | This element is only present in a single plugin |
Green : Multiple but no conflicts | This element is present in at least two plugins, but there is no conflicts. For records, this usually means that there is an ITM, or the record have a sub-group which contain different records while its own fields aren't overriden, or that multiple mods use the same injected record. |
Yellow : Override without conflicts | This element is present in at least two plugins, but only master's data have elements overriden. This means that a plugin make changes to the game by editing some of its master records. |
Red : Conflict | This element is present in at least three plugins, changes from lower-priority plugins aren't applied in game. The plugin which override changes don't refer overriden plugins as master. This is what most patches such as STEP Patches are solving. |
Fushia : Critical Conflict | This element is present in at least two plugins, the formID in its master doesn't belong to the plugin's range (it's an injected record, the first two digits of the formID are different than the plugin's position in the load order)., and they're different. A fushia background mean that multiple plugins are trying to inject different records with the same formID. |
Text Color
The text color of an element depend on the plugin it is saved in. It represent how the data from a plugin is affected by others in the session.
Black : Single | This element is only present in a single plugin. It is usually is associated with white background. Can also be seen on fields with a yellow beckground, which indicate a benign conflict, meaning the record will actually be merged at runtime and don't need conflict resolution. |
Purple : Master | The element is in its master. |
Gray : Identical to master | This element in this plugin is identical to the one in its master. For records, it means that this record is somewhat useless, and is known as ITM. ITMs are what's cleaned by the automatic cleaning procedure. |
Green : Override without conflict | This element is overriding data from its masters. |
Olive : Identical to master but conflict winner | This element is identical to its master, but override changes from other plugins not reffered to as master. This usually means that an ITM is preventing some changes from another plugin to be applied. |
Orange : Conflict Winner | This elements is in conflict in multiple plugins, and the change from this plugin is the winner (i.e. it is the one seen by the game). This means that this plugin have the higher priority of all others plugins editing the same element. |
Red : Conflict Looser | This element is in conflict in multiple plugins, and the change from this plugin is the looser (i.e. its changes aren't applied in game). This means that this plugin have a lower priority than an other one editing the same element. |
Ohter formating
Some more informations can be taken from the text formating in xEdit :
- Elements with italic font belongs to injected records.
- Elements in bold are elements which have been edited in the current session.
- Elements underlined are elements referencing an injected records not injected by the same plugin
Filters
Filters can be applied to visualize only a selection of records matching specified settings. To apply a filter, right click anywhere in the tree panel and select "Apply Filter".
Saving and Loading Presets
Pressing the "Add" button will save the current filer settings under the specified name. Filters are saved under the in %LocalAppData%/<gamename>/Plugins.<game>viewsettings
Pressing the "Save" button will save the modifications to the currently selected preset.
Pressing the "remove" button will remove the currently selected preset.
Conflicts status overall/for this particular record
Only records with those conflict status will be left in the interface.
Record signature
Only records of the specified signature will be left in the interface
Base record signature
Only references with this base record signature will be left in the interface
Other settings
Deleted : Only deleted references will be left in the interface.
By Injection Status :
By references injected status :
by not reachable status :
by Visible when distant :
by Has Visible When Distant Mesh :
by Persistence :
Scaled Actors : Only filter scaled actors
EditorID contains : Only filter records which have a matching EditorID
Name contains : Only filter records which have a matching name
Base record Name contains : Only filter references which have a matching name
Base record EditorID contains : Only filter references which have a matching record EditorID
Non-filter setting options
Conflict Status inherited by parent : build the conflict status relationship between plugins and master (this is what the "Apply Filter For Cleaning" option does).
Flatten Blocks/Sub-Blocks : Display Blocks/Sub-Blocks in a flat view instead of the default nested one.
Flatten Cell children : Display Cell children in a flat view instead of the default nested one.
Assign Persistent Worldspace Children to Cells : Include persistent references normally located in a "Persistent Worldspace" cell into their actual Cell.
Mod Groups
Mod groups is a feature used to state that it is considered normal/intended that two or more plugins have conflicts. This open a way to better conflict visualisation as intended conflict won't be reported and can be hidden.
To create modgroups :
In the xEdit installation folder, create a blank file with a text editor named xEDIT.modgroups (change xEDIT with the proper game-related name, TES5EDIT.modgroups for Skyrim)
Mod groups are then defined with a name and a list of plugins with the following syntax :
[Modgroup name] plugin1.esp plugin2.esp
The mod group is only available if all of the plugins listed for this mod group are loaded in the current session. Otherwise its ignored. Plugins listed under the mod group can have two options :
- Being preceded by a "-", the plugin doesn't become part of the modgroup conflict-wise, but is required for the modgroup to take effect. This is useful to create modgroups including patches which have implicit dependencies (the implicit master should then be added to the modgroup with a "-").
- Being preceded by a "+", the plugin is optional. If it is absent, the modgroup will still function for all properly for the other plugins listed. If it is present, it will be added to the modgroup.
An useful modgroups to have for anyone is one including all of the game's official DLCs along with the Unofficial Patch. (except if you intend to tracks conflicts between the unofficial patch and the official game, or between the DLCs themselves, i.e. if you're somehow working on the unofficial patch project). In Skyrim's case :
[Standard] Skyrim.esm Update.esm +Dawnguard.esm +HearthFires.esm +Dragonborn.esm +Unofficial Skyrim Legendary Edition Patch.esp
This way, conflicts between the official DLCs and USLEEP won't show up in TES5Edit if those files are loaded.
Upon launching xEdit with modgroups :
If the requirement for the modgroup are met (all of the plugins with the "-" prefix and all those without any prefix defined in a mod group are present in the session), the mod group will be available in a selection window similar to the one for plugins to enable/disable it before actually starting the session :
If a modgroup is absent from this list / isn't checked when clicking ok, the whole mod groups is ignored, in which case the following message will be displayed in the message tab :
Ignoring ModGroup [ModGroup Name] (from TES5Edit.modgroups): required plugin "PluginName.esp" missing
Additional modgroups can be defined in co-files placed in the Data folder. This feature isn't broadly used in the community but is still functional :
Any co-file to a loaded plugin with the .modgroups extension will see its modgroups added to the original list of modgroups defined in TES5Edit.modgroups
If both PluginName.modgroups and PluginName.esp are present in Data, PluginName.esp is loaded into xEdit, and PluginName.modgroups include valid modgroups, those modgroups will be available in the modgroup selection.
This feature was originally intended to allow patch-creators to provide co-file with their patches to prevent xEdit from displaying remaining intentional conflicts.
Simple Functionalities
Compare To...
Add, Remove (Tree Panel)
Add, Edit, Remove (View Panel)
Compare referenced records in this row...
Drag&Drop, Copy as...
Worldspace Browser
The worldspace browser is accessible by pressing Alt+F3 within xEdit.
The map is generated with the LODs textures for the visualized worldspace. (by default, LOD32).
By right-clicking anywhere on the map, it's is possible to "Jump To" a Cell in this Worldspace. This will close the worldspace browser and focus xEdit on the record of the exterior cell selected. If clicking in an area where there is childworldspaces that have overlapping cells (such as instanced cities in Skyrim), multiple choices are available.
This is an extremely efficient way to find an exterior cell instead of searching for it in the Tree Panel.
Worldspace
Select (shortcut : F3) : Choose which worldspace to visualize, with several parameters such as displaying the block/sub-blocks grid, the zoom level, whether or not to use the normal maps instead of the diffuse to generate the map, ...
Overlay
This menu allow to choose several overlay to display over the map to visualize several datas such as regions, regional weather, cells override, map markers, base references, ...
Most of those features need to have the reference informations built to work properly.
Asset Browser
The assets browser is accessible by pressing Ctrl+F3 within xEdit.
The asset browser allow to visualise the whole content of the Data folder, with each file being indicated in which container it is located (folder or .bsa). It is possible to visualise the content of a single container, using the asset browser as a .bsa explorer.
A filter is available to filter assets by name/pathname.
Double-clicking on a file will open it in the associated program in windows. Right-clicking give 4 options :
- Open
- Save As
- Copy All To..
- Copy name to clipboard
Asset Manager
The asset manager do not have a shortcut, to access it right click on the tree panel, select "Apply Script" and choose "Asset manager".
The asset manager allows to check existence of used assets, list used assets, or copy assets used by a plugin to a separate folder.
Spreadsheets
Spreadsheets are available at the bottom of the left pane. There is 3 of them, with similar functionalities :
- Weapon Spreadsheet
- Armor Spreadsheet
- Ammunition Spreadsheet
They allow to visualize multiple records in a convenient table that can be sorted for each property.
Upon selecting one of the spreadsheet tab, a prompt will appear to select which plugins to take into account for the spreadsheet. Then, the spreasheet can be filtered by keywords : All keywords used by weapons are in the list. Only weapons having all the keywords checked will be displayed in the speadsheet. For instance, to compare all bows in the session, tick "WeapTypeBow".
Errors and Log : The Messages Tab
Log Analyzer
xEdit Scripting functionnalities
Using Available Scripts
Installing New Scripts
Creating Custom Scripts
The xEdit API
References
Nomenclature
- Session
- For the terms of this Guide, a single use of xEdit will be considered a "session". This includes from the point xEdit is launched and all actions performed within until xEdit is closed.
Related Content and Links
Documentation
- TES5Edit CreationKit Wiki Page is the original wikipage. While mostly exact, the page isn't up to date.
- FO3Edit Training Manual hosts Miax's guide to xEdit. While not up to date and originally intended for FO3Edit, this is still one of the most comprehensive guides available on xEdit.
Discord
- The Official xEdit Discord provides live support, developmental releases, and much more.
GitHub
- xEdit Github Repository is the official repository for the project. It provides bug tracker, all releases, documentation, scripts, and much more.
Nexus Mods
- TES5Edit Nexus is the official Nexus Mods page for Skyrim (LE).
Forums and Topics
- Step's xEdit Support Forum is provided by Step Modifications for support regarding xEdit.
- TES5Edit AFKMods Forum Topic was for TES5Edit development and support. (deprecated)
- TES5Edit Bethesda Forum Topic : Support thread for TES5Edit. Link up to date on 18-06-2015. (deprecated)