A4 - How Stitchwork Works

Updated 2 weeks ago

How Stitchwork Works

Foundations · for creators. The one concept page before you replace anything. Skip it and the folder rules feel arbitrary.

You'll be able to: say what a replacement actually does, tell the two sprite systems apart (the most useful thing to know up front), and know why a saved file shows up in a second.

Replacement happens at load time

Stitchwork never edits the game on disk. It catches the moment the game asks for an asset and answers with your file instead of the original. Turn the pack off and the game gets the original back. Intercept the request, swap the reply — that's the whole model, and why there's no export step and no risk to your save.

Under the hood (optional)

Stitchwork uses Harmony to hook the game's asset calls — sprite setters, Language.Get, audio playback. When the game touches an asset you've replaced, the hook swaps in your version. Nothing is written to disk; the swap is live-only.

The two sprite systems

The fact that saves the most grief: Silksong draws 2D art two ways, and which one decides where your file goes.

  • tk2d — almost every animated character (Hornet, enemies, bosses), packed into shared atlases. Files go under Sprites/[Collection]/[Material]/.
  • Texture2D ("T2D") — plain textures and UI: menus, HUD, effects, ability art, some cinematic frames. Files go under Sprites/T2D/ or Spritesheets/T2D/.

You needn't memorise it — the Dev Hub tells you (Animation tab = tk2d; T2D tabs = Texture2D). When a replacement won't take, first ask: is it the other system?

One landmine that's caught every Silksong creator: the game calls Hornet "Knight" — a Hollow Knight holdover. Sprites named Knight_… are hers. (The glossary has more.)

Hot reload

Stitchwork watches your pack folders. Save a file, a watcher fires, it composites onto the live atlas — ~1s, no restart:

edit PNG → save → watcher → reload → composite → on screen   (~1s)

Only a new Stitchwork version (the .dll) needs a restart. Pack content never does.

When packs disagree

Two packs, same sprite: priority order (set in the Pack Manager) decides — higher wins, and the manager shows who took it. One exception: text you edit in the Dev Hub's editor always wins, so in-editor changes are never silently lost. Full rule in Priority & Conflicts.


You can now reason about what an edit does, name the two systems, and trust a saved file appears in a second. Next: Starting a Skin Pack.