Skip to content
S3ctor’s S3cret St4sh

Mod Morrowind active

Static Switching System

Make patches and replacers for OpenMW using only YAML files!

Stable
not released
Development
1.1-dev.10
Runs on
OpenMW any version
Package
Single directory

Overview

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.

Static Switching System logo

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:

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

  1. Install SSS and H3lp Yours3lf, enable H3lp Yours3lf.esp, and then enable Static Switching System.esp. Install FlexTag only if your module uses has_tag, cell_tag, add_tag, or remove_tag.

  2. 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
  3. Load a cell containing a rat. The rat should become 25% larger; once: true keeps the successful application from being rolled again for that object after save/load.

  4. 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

GoalStart here
Verify that SSS is installedFive-minute test
Read the full documentationSSS documentation
Replace meshes globally or by locationBasic static replacement
Change active objects based on conditionsYour First Module
Add inventory, locks, traps, or equipmentLoot, locks, and traps
Use quests or world stateQuest-state world patching
Study strange multi-primitive combinationsExperiments and Oddities
Inspect or debug a loaded installationValidation and Debugging

Install

Single directory · 1.1-dev.10

OpenMW, by handextract, then add these lines to openmw.cfg
  1. Extract the archive to a folder of its own, for example C:/Games/OpenMW-Mods/Static Switching System.
  2. Add the lines below to openmw.cfg. Keep them after the data= lines of anything this mod depends on.
  3. Open the launcher and check the load order. Content files load in the order listed here.
data="C:/Games/OpenMW-Mods/Static Switching System"
content=Static Switching System.esp

Replace the folder with wherever you extracted the archive.

DreamWeave clientsCHIMERA and other tools that read the manifest

Give the tool this page's address, or the manifest directly. It finds the release for its channel, checks compatibility and dependencies, downloads from any listed source and refuses bytes whose SHA-256 does not match.

Project id
81abbe84-b6ae-4104-96e7-d993fae68ae5
Manifest
https://dreamweave-mp.github.io/S3ctors-S3cret-St4sh/dreamweave/projects/81abbe84-b6ae-4104-96e7-d993fae68ae5.json

What is in the archive

  • static_switching_system.zip
    • Static Switching System.espand the rest of the data directory
    • static_switching_system-Documentation/this page and its docs, readable offline
    • static_switching_system-dwmod.tomlthe project's mod.toml
    • dreamweave.release.jsonwhat this archive is, for tools

Compatibility

Anything not listed here is untested.

Runs on

  • OpenMWany version
  1. 1.0 stable unverified 2026-09-11

Discussion

GitHub Discussions · sign in with GitHub to join in