B1 - Starting a Skin Pack

Updated 2 weeks ago

Starting a Skin Pack

Sprites · for creators. The hands-on one. Dump a real frame, repaint it, watch it change live — then fold it into a shareable pack. About 20 minutes, any PNG editor, no Unity.

You'll be able to: replace a sprite end-to-end — find it, edit it, see it in-game in a second — and turn that loose edit into a real, toggleable pack. Do it once and every other sprite in the game works the same way.

Before you start: Module A, so the folder rules don't feel arbitrary. You want Stitchwork running (a badge bottom-left) and a save loaded with Hornet on screen.

We'll recolour one frame of Hornet's idle. The example uses real names from the live game — yours will match.

Heads-up before you invest: this page teaches the single-sprite loop — the right first lesson, and all you need for props, poses, and touch-ups. But if your real goal is re-drawing whole animations, know that a dedicated animation workflow exists (extract every frame of a clip onto one onion-skinned canvas, edit, compile back) and some creators prefer to learn it first. The map of every workflow — where each starts, where it ends, what the finished files look like — is Choosing a Workflow.

Step 1 — Open the Animation tab

Open the Dev Hub (the Graphics pillar keybind — default Alpha3; Hotkeys has your build's exact key). If nothing opens, a text field somewhere has keyboard focus — click empty game space first.

Graphics → Animation. That tab is the tk2d world: every animated character in the scene, listed by its GameObject name.

Step 2 — Find Hornet, and meet the "Knight" landmine

In the animator list, Hornet's entry is named — and pinned to the top:

Hero_Hornet(Clone)

Click it to select. The right side reveals the object's current sprite path (as Collection/Sprite) and its frame timeline. Let Hornet stand still so the clip is Idle (move and you'll be inspecting Run instead).

Click a frame and the inspector shows three names you'll use constantly:

  • CollectionKnight
  • Material (the atlas) — atlas2
  • Spriteidle0000

Yes: Knight, not Hornet. Silksong inherited Hollow Knight's internal names, so Hornet's sprites live under Knight. This trips everyone once — now it won't trip you. (More such aliases in the glossary.)

Read these names from the inspector, don't memorise them. The material is atlas2 for this idle today, but indices shift between game versions. The inspector is always right; a guide is only right until the next patch.

Step 3 — One click to start editing

Click Edit Current Sprite. That one button does three things: dumps the vanilla frame to disk, copies it into your live workspace, and opens the PNG in your default image editor. You're now looking at the exact art the game is drawing, in an editable file the game is already reading.

Where it landed (the root workspace — loose files that always apply, perfect for prototyping):

BepInEx/plugins/StitchworkRoot/Sprites/Knight/atlas2/idle0000.png

(That StitchworkRoot is your install folder — wherever Stitchwork.dll lives. Don't worry about packs yet; we get there in Step 6.)

To dump every frame of the clip at once instead, use Ready All Animation Sprite for Edit — it lands one PNG per distinct sprite (it won't hand you a reused frame twice).

Step 4 — Repaint it

Make a change that's impossible to miss on the first try — flood the cloak solid red. Subtle is for later; right now you want a yes/no signal that the pipeline works.

Three rules when you save:

  • Same size or bigger, never smaller. Larger replacements are fine — Stitchwork grows the atlas to fit (and anchors control where the extra room goes). Smaller will misregister.
  • Keep the alpha. Transparent stays transparent; don't flatten onto a background.
  • Save as PNG. JPG has no alpha and will fringe every edge with compression mush.

Save over the file in place — same path, same name.

Step 5 — See it live

Switch back to the game. Within about a second the file watcher catches the save and composites your art onto the live atlas. Hornet's idle frame is now wearing red.

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

If she's mid-jump or off-screen, walk back and forth until she idles — the replacement only shows on the frame you painted. Nothing? Run the three questions in When Something Looks Wrong — it's almost always path or sprite-system.

Step 6 — Make it a real pack

Right now your edit lives in the root workspace: always on, can't be toggled, can't be shared. Promote it to a pack — a self-contained folder the Pack Manager can switch:

  1. Make a folder under your install's Packs/:
    BepInEx/plugins/StitchworkRoot/Packs/my-hornet-skin/
    
  2. Recreate the asset path inside it and move your PNG there:
    …/Packs/my-hornet-skin/Sprites/Knight/atlas2/idle0000.png
    
    (The folder under the pack mirrors the root workspace exactly — only the Packs/my-hornet-skin/ prefix is new.)
  3. In-game, open the Pack Manager (click the Status Overlay). Your pack is listed — but off, like every new pack. Toggle it on, click Apply.

Red cloak's back — except now it's a thing you can switch off, layer under other packs, and zip up for a friend.

Step 7 — The rest of the animation, and beyond

You changed one frame; the clip has several. Ready All Animation Sprite for Edit (Step 3) dumps them all at once — repaint each and drop them beside the first. Each filename is the sprite's in-game name (idle0000, idle0001, …); match the name and Stitchwork finds it.

The same shape — find the name, drop a file at the matching path — is the whole framework:

  • SoundsSounds/{ClipName}.ogg
  • Text → the Dialogue Editor writes the YAML for you (Text & Dialogue)
  • VideoVideos/{CinematicName}.mp4

What you've internalised

  • Path is identity. A PNG at the right Sprites/Collection/Material/Sprite.png is the replacement — no import, no build.
  • Hot reload is instant. Save, see it. Only a new Stitchwork version needs a restart.
  • A pack is just a folder. Many coexist; the Pack Manager decides who's on and who wins.
  • The inspector is the source of truth for names — and the game calls Hornet Knight.

You can now replace any sprite and ship it as a pack. Next, when a sprite isn't in front of you in the Animation tab: Finding Any Sprite. For replacements that grow past the original: Bigger Art: Anchors. Ready to share: Distributing Your Pack.