Dynamic Form Lists Wiki

When multiple mods change the same form list (adding new items, spells, races, or anything else to a shared list), Skyrim only keeps the last mod's version and throws away everyone else's additions. This plugin fixes that. It finds the missing entries and adds them back. Install it, forget about it.

Quick Start: Install with your mod manager, launch the game. That's it. Check Data/SKSE/Plugins/DynamicFormLists.log if you want to see what it did.

Requirements

What Are Form Lists?

A form list (FLST record) is a list of things the game uses behind the scenes. Mods use them to register new content with the game's systems. For example, a form list might hold all the races that can use beast race animations, all the keywords a crafting system checks, or all the spells in a specific school. When a mod adds something new, it often needs to put a reference in one of these lists so the game knows about it.

The Problem

Skyrim has a simple rule: if two mods edit the same form list, the last one in your load order wins and the other gets thrown out. So if Mod A adds three new races to a form list and Mod B adds two new keywords to that same list, you only get the keywords. The races are gone. No warning, no error. Just silently deleted.

This is especially common with mods that add new content to shared game systems. The more mods you have, the more entries vanish.

The Fix

Dynamic Form Lists looks at every mod that touched each form list, figures out what each one added or removed, and restores the missing entries at startup. The result is the same as if you had manually built a compatibility patch for every form list conflict in your load order, except you don't have to do anything.

How It Works

Features

Restores missing form list entries
Respects intentional removals
Skip specific mods via INI
Skip specific form lists via INI
xEdit companion script
Detailed optional logging
SE + AE + VR support
Fully automatic

INI Settings

The config file is at Data/SKSE/Plugins/DynamicFormLists.ini. If it doesn't exist, it gets created automatically the first time you launch the game.

General

[General]
;Write detailed per-list info to the log file. Useful for troubleshooting.
enablelogs = false

;Master toggle. Set to false to disable form list restoration entirely.
mergeformlists = true

Exclusions

[Exclusions]
;Comma-separated list of plugin filenames to skip entirely.
;Example: skipMods = SomePlugin.esp, AnotherMod.esp
skipMods =

;Comma-separated list of form list EditorIDs to skip entirely.
;Example: skipFormLists = SomeFormListEditorID, AnotherFormList
skipFormLists =

Settings Reference

enablelogs

Default: false
Logs every form list that was checked and every entry that was added or restored. Helpful if you want to see exactly what changed, but makes startup slower. Leave it off unless you're curious or troubleshooting.

mergeformlists

Default: true
Master toggle for the entire plugin. Set to false to disable all form list restoration without uninstalling the plugin.

skipMods

Default: (empty)
Comma-separated list of plugin filenames (e.g. SomePlugin.esp). Any mod in this list will be completely ignored. Its additions won't be restored and its removals won't be tracked.

skipFormLists

Default: (empty)
Comma-separated list of form list EditorIDs to skip. Any form list in this list won't be touched at all, regardless of how many mods edit it.

xEdit Companion Script

The plugin comes with an xEdit (SSEEdit) script called ST - Dynamic Form Lists.pas. It has two modes:

Tip: You can use the xEdit script and the SKSE plugin together. The script builds a patch file, and the plugin catches anything the patch missed. They don't conflict.

Compatibility

Credits

Link to This Page

Copy a link to share this wiki from your Nexus description or documentation:

Support me on Ko-fi