About this mod
NVSE framework for swapping base objects and references, using config files.
- Requirements
- Permissions and credits

Requirements
xNVSE
JIP LN NVSE
JohnnyGuitar NVSE
Description
NVSE utility plugin that allows mod authors to swap base objects with others, using config files.
This is a port of Base Object Swapper from Skyrim Special Edition.
With this mod, you could...
- assign different model variants to misc objects at random
- replace overused statics with unique variants
and more!
How To Use
Distributed records should be written to an ini file in Data/BaseObjectSwapper folder (for example, Data/BaseObjectSwapper/MyMod.ini).
They should follow this general format:
[Forms]
origBaseID|swapBaseID|transformOverrides|chance
origBaseID|swapBaseID,swapBase2ID,swapBase3ID|transformOverrides|chance
[References]
origRefID|swapBaseID|transformOverrides|chance
[Forms|CellEDID,KeywordString,RegionEDID]
origBaseID|swapBaseID|transformOverrides|chance
ID can be either formID or editorID of the object (requires JohnnyGuitarNVSE)
ObjectFormID~ModName.esp OR ObjectEditorID
origBase is the base object you're trying to replace (eg. a coffee pot).
origRef is the specific object reference you're trying to replace (eg. a specific coffee pot in Hoover Dam).
swapBase is the replacement object you're replacing it with (eg. a coffee pot with a new model).
Locational replacements
- Location based form swaps
- Requires cell or region editorID
;this swaps all CoffeeKettle misc objects inside Doc Mitchell's house for big pots
[Forms|GSDocMitchellHouse]
CoffeeKettle|BigPot
Keyword replacements
- Swap objects based on added keywords (eg. via KEYWORDs mod)
- Requires JIP LN NVSE
Transform Overrides
- Change the position, rotation and scale of swapped objects
- pos - position
- rot - rotation
- scale - scale
- units must be in floats (20.0)
- A/R suffixes for setting relative vs absolute transform. For position/rotation
- posR(1.0,5.0,100.0) will set new position relative to reference base position
- posA(300.0,100.0,200.0) will override reference base position
- scale is multiplicative.
- scale randomization is possible
- eg. scale(1.0/2.0) will scale references between 1.0 and 2.0 units
- Leave as NONE if you don't want transform overrides
;swaps CoffeeKettle misc items to cracked variants with relative position + random Z position of 50 to 100, and random scale between 1.0 and 1.50.
[Forms]
CoffeeKettle|CoffeeKettleCracked01|posR(10.0,5.0,50.0/100.0),scale(1.0/1.50)
- It is also possible to directly set a transform override without swapping objects. Requires [Transforms] section
[Transforms]
origBaseID|transformOverrides|chance
origRefID|transformOverrides|chance
[Transforms|CellEDID,KeywordString,RegionEDID]
origBaseID|transformOverrides|chance
- Affects swapped objects
[Transforms]
LeafBlower|rotR(-90,0,0),scale(2.0)
Chance
- Randomly swap between multiple swap objects/percentage chance to not swap at all
- chance (0 - 100)
- Default is 100
- S/R suffixes
- chanceS(50) - fixed random chance (persists across game sessions; object refs will be always swapped or not)
- chanceR(50) - chance is rerolled on each new game session (object ref may or may not be swapped each time you load the game)
- Default is S
[Forms]
;Randomly swaps between Base1, Base2, Base3
Base|Base1,Base2,Base3
;50% chance to swap to PenBlue
;25% chance to swap to PenRed
Pen01|PenBlue|NONE|chanceS(50)
Pen01|PenRed|NONE|chanceS(25)
;50% chance (rerolls each game session)
Pen01|PenBlue|NONE|chanceR(50)
Examples
[Forms]
;swap ash-trays with pencils
0x00034057~FalloutNV.esm|0x0005B63C~FalloutNV.esm
[References]
;swap specific ash-tray reference (in REPCONN basement) with pen and scale it 100x
0x0008F1EE~FalloutNV.esm|0x0005B63C~FalloutNV.esm|scale(100)
Check BaseObjectSwapper.log in FalloutNV directory, for more information about the process.
Installation
- Install as normal with a mod manager.
Credits
Source
- xNVSE team
- lStewieAl for some extra REd functions