AD SPACE AVAILABLE · BRAND PARTNERS WELCOME

Overcoming the 254 Mod Plugin Limit: xEdit FormID Compacting and ESL Flagging Guide

365Finds Editorial
Indexed 11,430 Wiki articles

Put 365 Wiki to work with your AI

Copy the prompt below, paste it into the AI you already use, then ask your question.

Download full Skill

Try it with the prompt first. If you use 365 Wiki often, install the full 365Wiki Skill so you do not have to paste it again. No regular AI? Gemini or Microsoft Copilot on the web will work.

365Wiki Skill

Triage Matrix: ESM / ESP vs ESL Plugin Architecture

Plugin TypeEngine Index AllocationMax Unique Records AllowedSafe to Convert to ESL?Precondition / Risk
Standard ESP / ESMOccupies one of 254 main load order slots (00 to FD)16.7 Million FormIDs (000000 to FFFFFF)N/A (Baseline)Count towards hard 254 limit
ESL Flagged ESP (ESP-FE)All mapped into single slot FE (up to 4,096 ESLs simultaneously)Exactly 2,048 FormIDs (800 to FFF)YESNew records must not exceed FormID range 800-FFF
Plugin with Cell OverridesStandard slotVariesNO / CAUTIONAdding temporary child refs in cell edits causes persistent ref bugs
Plugin with FaceGen / ScriptsStandard slotVariesYES (With Care)Renaming FormIDs breaks external voice and face tint filenames

In games built on Bethesda's Creation Engine (such as Skyrim SE and Fallout 4), plugins have historically been constrained by an 8-bit hex index limit: exactly 254 active full plugins (from index 00 to FD). Once slot 255 (FE) was designated for light plugins, the community unlocked the ability to install thousands of mods—provided they are converted to ESL correctly.

Phase 1: Identifying Safe ESL Candidates in xEdit

  1. Launch xEdit (SSEEdit or FO4Edit) and load your complete mod list.
  2. In the left panel, right-click any mod or empty space and select Apply Script.
  3. Choose the official built-in script: Find ESP plugins which could be turned into ESL.
  4. Click OK. The script parses every record in your load order and categorizes them into two outcomes:
    • Can be turned into ESL by adding ESL flag: The plugin contains new records, but all FormIDs are already within the allowed range (0x800 to 0xFFF), or it contains purely override records.
    • Can be turned into ESL by compacting FormIDs first: The plugin contains fewer than 2,048 new records, but their FormIDs exceed 0xFFF. It requires compacting.

Phase 2: Compacting FormIDs and Applying the ESL Flag

For Plugins Requiring No Compacting:

  1. Click the target plugin in xEdit.
  2. Expand the Record Header in the right pane.
  3. Double-click the Record Flags field.
  4. Check the box labeled ESL.
  5. Press Ctrl + S to save. You just freed up a full load order slot!

For Plugins Requiring Compacting (Strict Precautions):

  1. Never compact a mod mid-playthrough on an active savegame; this invalidates internal script references.
  2. Right-click the plugin in xEdit and select Compact FormIDs for ESL.
  3. Accept the warning. xEdit renumbers all newly defined records to fit strictly between 00000800 and 00000FFF.
  4. In Record Flags, check ESL.
  5. Update Loose Asset Filenames: If the mod contained voice files (.fuz) or NPC facegen files (.nif / .dds), their filenames were named after the old FormIDs. Use an automated tool (such as Cathedral Assets Optimizer or FaceGenFixer) to rename assets to match the newly compacted FormIDs.

Verification Checklist