Static Switching System
Version: 1
- Dependencies and optional integrations
- Mods already using SSS
- Start here: a five-minute test
- Choose a path
Static Switching System (SSS) is a declarative world-patching framework for OpenMW. Write YAML modules to replace meshes globally or in specific places, or to target live objects with conditions and apply object, inventory, actor, world-state, and scripting actions.
SSS has two module types: static and instance. Pick one.
- Static modules replace meshes and maintain tracked replacement chains. They are the original Static Switching System path.
- Instance modules match active objects with conditions and apply rules such as replacement, transforms, inventory changes, actor equipment, locks, traps, creation, teleportation, tags, and other supported actions.
A YAML file must not combine instances with static replacement fields. When an object matches an instance rule, that pipeline owns the activation; static replacement is the fallback for objects with no matching instance rules.
Dependencies and optional integrations
SSS depends on H3lp Yours3lf, so install and enable H3lp Yours3lf before testing SSS.
FlexTag is optional. It is required only by the tag feature family: has_tag and cell_tag conditions, plus add_tag and remove_tag actions. Without FlexTag's FlexTagG interface, those conditions return false and those actions cannot perform their operation, so a module that depends on them will appear inactive. SSS's static pipeline and its other instance conditions and actions do not require FlexTag. In particular, cell_match is an SSS location condition, not a FlexTag condition. See FlexTag compatibility for tag data and persistence details.
Mods already using SSS
SSS is already doing useful work in released static modules, not just in sample files:
- White Suran 2 - MD Edition and Red Vos use location-scoped mesh replacers for Suran and Vos.
- Unique Velothi Interiors, G.A.S. - Green Azura Shrines, and Landscape - Aendemika of Solstheim use static modules for optional architecture and landscape components.
- Suran O Suran - Compatibility Patches, On the Rocks Tamriel Rebuilt Compatibility Patch, Caverns Revamp - Cleaned-up and Compatible, and Anthony's Minor Mods and Patches use SSS for targeted compatibility work.
All nine are static modules. See Static Modules in the Wild for the full catalog and the authoring patterns they illustrate.
Start here: a five-minute test
-
Install SSS and H3lp Yours3lf, enable
H3lp Yours3lf.esp, and then enableStatic Switching System.esp. Install FlexTag only if your module useshas_tag,cell_tag,add_tag, orremove_tag. -
Create a YAML file below
scripts/staticSwitcher/data/in an active OpenMW data directory:log_name: SSS First Test instances: - conditions: - object_type: Creature - record_id: "^rat$" once: true actions: - transform: scale: 1.25 -
Load a cell containing a rat. The rat should become 25% larger;
once: truekeeps the successful application from being rolled again for that object after save/load. -
If nothing happens, enable debug logging and check troubleshooting.
This test uses no replacement asset and is a quick way to verify the plugin, dependency, VFS path, module discovery, condition matching, and instance processing. Continue with Your First Module for a fuller static-and-instance walkthrough.
Choose a path
| Goal | Start here |
|---|---|
| Verify that SSS is installed | Five-minute test |
| Read the full documentation | SSS documentation |
| Replace meshes globally or by location | Basic static replacement |
| Change active objects based on conditions | Your First Module |
| Add inventory, locks, traps, or equipment | Loot, locks, and traps |
| Use quests or world state | Quest-state world patching |
| Study strange multi-primitive combinations | Experiments and Oddities |
| Inspect or debug a loaded installation | Validation and Debugging |