Add Cutscenes

Classic reskins can add or replace presentation screens, level cutscenes, and ending scenes without creating new level logic.

Cutscene File Locations

Cutscene File
Opening or presentation Level Replacements/Classic/presentation.json
Level-specific cutscene Level Replacements/Classic/level <n> - cutscenes.json
Ending Level Replacements/Classic/ending.json
Title screen Level Replacements/Classic/title.json

All of these files use the same LocalLevelBackgroundData format. Images are shared through Levels/Art.

Add A Level Cutscene

  1. Open the Level Editor.
  2. Choose Classic Reskin.
  3. In the cutscene list, press add.
  4. Choose the level number you want to attach the cutscene to.
  5. Add scenes, layers, images, and optional animations.
  6. Set cutsceneEndTimeInSeconds on each scene if the scene should advance automatically.

Level numbers are human-facing and start at 1. A file named level 3 - cutscenes.json targets Classic stage 3.

Scene Timing

cutsceneEndTimeInSeconds controls automatic advancement:

  • -1 means no automatic end time.
  • a positive value means the scene can advance after that many seconds.

When a cutscene has multiple scenes, each scene can have its own timing and music fields.

Music Per Scene

Set musicPackName and musicName on a scene when you want a specific track to start with that scene. Use the base music filename without extension.

{
  "musicPackName": "My Reskin",
  "musicName": "stage-clear-remix",
  "cutsceneEndTimeInSeconds": 8.0,
  "layers": []
}

Reusing Art

Put shared art in Levels/Art once and reference it from several cutscene JSON files. This is safer than duplicating images across folders because the packer and runtime expect level-art references to resolve from that shared art folder.

Testing

Test cutscenes in game, not only in the editor. Confirm:

  • the correct cutscene starts at the expected point
  • music starts and loops cleanly
  • images are not missing
  • scene timing is long enough for fade-ins or moving title images
  • widescreen framing looks correct