Files
2026-07-10 08:42:55 -07:00

1.7 KiB

Beat Saber Live Validation

Use this policy when a task changes or verifies a live BSManager instance.

Smoke Test

  • Follow docs/SMOKETEST.md for live game validation.
  • Before starting Beat Saber, announce how long the smoke window will run, using the current duration in docs/SMOKETEST.md unless the user requested a different duration.
  • Do not rely on timeout to kill the full game process tree.
  • Prefer the documented foreground Proton launch with a background watchdog that sleeps for the smoke window, then terminates Beat Saber by process name.
  • After the run, confirm no Beat Saber process remains. If cleanup fails, say so and ask the user to close it manually.

Required After Live Apply

After any successful helper apply that changes a live BSManager instance, run the documented live smoke test before the final response unless the user explicitly says not to. Helper check, unit tests, compile checks, and file-hash verification are useful but do not replace live validation.

Logs

Inspect Logs/_latest.log, Unity Player.log when relevant, and the live process command line before calling a black screen or launch failure a plugin failure. Duplicate launch args such as repeated --no-yeet fpfc can trigger fatal command-line parsing after BSIPA/plugin loading succeeds.

Expected successful BSIPA/SongCore lines include:

Game version <version>
Loading plugins from Plugins and found <n>
Beat Saber IPA (BSIPA): <version>
SongCore (SongCore): <version>

Warnings about older mod target game-version metadata can be acceptable when BeatMods verified that exact package for the target Beat Saber version. Record them in the tracker or roadmap rather than treating them as automatic install failure.