Inventory Interface Information Injector Improved (I5) is a general fix and performance addon for I4 (Inventory Interface Information Injector). It is an SKSE plugin that changes no game data and ships no SWFs, so it has no file conflicts.
- Icon cache: I4 recomputes every item's icon data from scratch on every item-list refresh, so switching tabs, navigating items, or using/dropping an item can drop the frame rate massively in large inventories. A refresh takes about 90 ms for 200 items, and the cost grows with item count. I5 caches that work per item in player inventory, containers (including follower inventories), barter, crafting (smithing, smelting, tanning, cooking, alchemy and enchanting), and magic menus, cutting the per-refresh cost to a few milliseconds. The cache is saved with your save, so the first menu open after loading a save is fast too.
- Favorites crash fix: fixes the crash to desktop when opening the Favorites menu with I4 1.1.1 on Skyrim versions before 1.7.
- Alchemy icon fix: applies I4's keyword icon rules to alchemy table ingredients.
- Faster SkyUI list refresh: when the inventory list refreshes, SkyUI checks every category tab against every item to decide which tabs are empty. I5 does that check in one step, so large inventories refresh faster.
- Skip redundant SkyUI refreshes: when SkyUI's item list would refresh with the same items as its last refresh, I5 skips the redundant refresh, so I4 doesn't rebuild the icons again.
- SKSE64
- Address Library for SKSE Plugins (SE/AE) or VR Address Library for SKSEVR (VR)
- SkyUI
- I4 - Inventory Interface Information Injector
Mod manager (recommended):
- Install the requirements above.
- Install I5 via your mod manager.
- Launch Skyrim via SKSE.
Manual:
- Install the requirements above.
- Copy
InventoryInjectorImproved.dlltoData\SKSE\Plugins\. - Launch Skyrim via SKSE.
- Skyrim SE 1.5.97, AE 1.6.x, 1.7.x, and VR, through Address Library.
- No ESP/ESL; no game records changed.
- No SkyUI file conflicts: it does not replace any SWF and works with SkyUI's stock UI as well as UI patches and reskins.
- Wraps I4's Scaleform hooks at runtime; compatible with I4 icon add-ons.
Known compatible mods:
- A.S.S. for B.O.O.B.I.E.S.
- Aura's Inventory Tweaks
- B.O.O.B.I.E.S (Immersive Icons)
- Compare Equipment NG
- Constructible Object Custom Keyword System (Crafting Categories for SkyUI)
- Container Distribution Framework
- DynamicInventoryIconInjector
- I4 Weapon Icons Overhaul
- Infinity UI
- NORDIC UI
- P.E.N.I.S. for B.O.O.B.I.E.S.
- QuickLoot IE
- The Handy Icon Collection Collective
- TrueHUD - Inventory Injector Patch
| Command | Effect |
|---|---|
i5 status |
Prints cache size, how many entries were restored from the SKSE co-save this session, the last and worst refresh timings, and which features are on. |
i5 debug on|off |
Turns per-refresh timing logging to the log file on or off. |
i5 cache purge |
Clears the icon cache. Use it if icons look wrong after updating I4, then save. |
i5 invalidate <formid> |
Clears the cached icon for one item (hex form ID, e.g. i5 invalidate 14), instead of the whole cache. |
I4 has three icon setters, InventoryIconSetter, CraftingIconSetter, and MagicIconSetter,
each recomputing every entry's icon data (form lookups, keyword scans, ActionScript callbacks)
in its processList method on every refresh. I5 wraps all three and caches the result per
item, so each refresh hands I4 only the items it hasn't seen before and applies the cached
result to the rest. Covered menus: inventory, container, barter and gift use
InventoryIconSetter; crafting (smithing, alchemy, enchanting) uses CraftingIconSetter;
magic uses MagicIconSetter.
Soul gems are cached per fill level, since a gem's icon depends on how full it is. Items
created at runtime (form IDs starting 0xFF) are cached only for the current game session
and not saved between sessions, because the engine can reuse those IDs for a different item
later. The rest of the cache is saved in your save file's SKSE co-save, so the first menu open
after loading a save is fast too, and it's rebuilt automatically if your I4 icon configs or
load order change. A diagnostic log is written to
Documents/My Games/Skyrim Special Edition/SKSE/InventoryInjectorImproved.log
(Skyrim Special Edition GOG on the GOG version).
A fix is included in I5 to prevent the crash to desktop that happens when opening the favorites menu with I4 1.1.1 on game versions before 1.7.
I5 doesn't cache Favorites because it's a small list that's rarely heavy, so caching it would save little.
A mod that changes an item's displayed icon/data at runtime can end up serving I5's stale
cached icon for that item, since I5 doesn't know the item changed. I5 broadcasts a small
API::IAPI interface (src/I5API.h) over SKSE's MessagingInterface at kPostLoad, with
an InvalidateItem(formID) call that clears every cached icon for that item so it's
recomputed on the next menu refresh. Copy src/I5API.h into your own plugin and register
a listener for I5's plugin-name channel ("InventoryInjectorImproved") to receive it, the
same way you'd consume any other SKSE plugin's API.
Open a GitHub issue. If Skyrim crashed to
desktop, install Crash Logger SSE, reproduce the
crash, and attach the crash-*.log it writes to the same SKSE log folder as I5's own log above.
See CONTRIBUTING.md for building, testing and code style, and docs/RELEASING.md for the release process.
Developer console commands (i5 disable, i5 enable, i5 verify on|off, i5 cache enable|disable
and i5 skyui inventory-dedupe enable|disable) are documented in
CONTRIBUTING.md.
GPL-3.0-or-later, see LICENSE. Required by CommonLibSSE-NG.