Classic Reskin Workflow¶
This workflow assumes you are creating an editor pack under Editor/<Pack Name> and using the three standalone editors: Level Editor, Character Editor, and Audio Editor.
1. Create Or Open A Pack¶
Create a pack from the mod selector, or copy the Editor/Mod Name template and rename the folder. The folder name becomes the pack name used by scripts, audio replacement JSON, palette paths, and dependencies. A pack created from the mod selector also gets an id, its permanent identity; if you copy a folder, give the copy a new id or remove it (see Mod identity).
For a Classic reskin, config.json should keep Classic as a dependency:
{
"isChronicle": true,
"description": "A Classic visual and audio reskin.",
"dependencies": ["Classic"],
"dependenciesChecksums": [""],
"settings": {}
}
Most editor-created packs already include a complete settings block. Keep it unless you intentionally want to change lives, difficulty, player count, or game-mode behavior.
2. Decide Which Editor Owns Each Change¶
Use the Level Editor for screens and level visuals:
Level Replacements/Classic/title.jsonLevel Replacements/Classic/presentation.jsonLevel Replacements/Classic/ending.jsonLevel Replacements/Classic/level <n> - art.jsonLevel Replacements/Classic/level <n> - cutscenes.json- images in
Levels/Art/
Use the Character Editor for entity art and animation data:
Entity Replacements/Classic/<Classic Entity>/- replacement sprites,
spriteSettings.json,animations.json,logic.json, anddependencies.json
Use the Audio Editor for sounds, music, loop points, and Classic replacement maps:
Sounds/*Musics/*Musics/<music>.jsonAudio Replacements/Classic/music-replacements.jsonAudio Replacements/Classic/sound-replacements.json
Use the palette workflow for extra playable-character color choices:
Palettes/Classic/<Playable Character>/palette <n>.png
3. Work In Small Passes¶
The safest rhythm is:
- Replace one area.
- Launch the pack in game.
- Check the log or visible result.
- Commit or back up the pack folder.
- Move to the next area.
This matters because Classic reskins often reuse original data. A broken filename, missing dependency, or mismatched scene count can make a whole screen fall back to the original or fail to load.
4. Keep Names Stable¶
The runtime resolves most mod content by folder and base filename:
- A sound file named
kick.wavis referenced askick. - A music file named
stage1.oggis referenced asstage1. - A replacement folder named
Axeltargets Classic Axel. - A palette folder named
Axeltargets Classic Axel palettes.
Avoid renaming pack folders, entity folders, or audio base filenames late in a project. If you do rename them, update JSON references at the same time.
5. Keep Reskin Data In Level Replacements/Classic¶
Classic reskin level art belongs under Level Replacements/Classic, not next to the normal level files. The normal level files describe custom levels. The replacement files describe visual replacements for the original Classic levels.
When the Level Editor opens a pack in Classic Reskin mode, it loads the original SOR2 reference data and saves your replacement art to Level Replacements/Classic. This lets you line up new art against the original while keeping original walls, spawns, and scene flow intact.
6. Test The Actual Target¶
Preview panels are useful, but the game is the final test. Open the pack in the in-game editor menu and choose Test: the reskin is applied on top of the original content for that session, so you can play it without exporting and without changing your own skin options. Check:
- title screen transitions
- character select visibility
- stage start music
- scene boundaries and parallax
- cutscene timing
- boss or enemy palettes
- player palette selection
- audio volume and loop points
If something looks correct in an editor but not in game, check the file format reference and troubleshooting.