Skip to content

Stabilization batch 08

Scope: repair GAME-18's existing Tutorial entry route. No new tutorial, gameplay feature, production C# change, or player build.

Repair

In MainMenu's TutorialButton (Button 865741375), replace the persistent MenuController.PushPage(null) call with the existing MainMenuManager.StartTutorial() handler on component 455391815. Five serialized lines change: target, target type, method, argument mode, and unused object-argument type. The listener remains RuntimeOnly. Preserve scene GUIDs, CRLF, other buttons, and the two manager-reference repairs from batch 06.

Regression evidence

The existing Editor-only MenuStartupChecks.cs gains RunBatch08. Run with the installed Unity CLI/6000.2.8f1 Editor:

unity --non-interactive --no-banner run \
  '/mnt/work/Unity Project/Tiny-Chaos' \
  --timeout 600 --log-file /tmp/tinychaos-batch08-after.log \
  --no-tail -- -nographics -buildTarget Linux64 \
  -executeMethod TinyChaos.EditorTools.StabilizationChecks.RunBatch08
Check Original binding Repaired binding
Imported button targets the existing no-argument Tutorial handler Fail Pass
Actual persistent UnityEvent invocation, scene loading guarded Fail: UnityEngine.Object cannot convert to Page Pass
Remaining PushPage buttons have scene-local Page arguments Fail: TutorialButton has none Pass: nine routes
Existing Tutorial scene imports and is enabled for building Pass Pass
Total 1/4 4/4

The dispatch check opens a disposable preview scene, sets the existing manager transition guard, temporarily enables EditorAndRuntime listener execution, invokes the real button event, and closes without saving. RuntimeOnly would silently skip this Edit Mode invocation. The failing original binding demonstrates that the check actually exercises dispatch. Its argument-conversion exception is an Editor result; the batch-07 player's observed failure was a NullReferenceException, and that click's exact button identity was not captured.

An initial check-helper namespace error failed compilation before the valid baseline; it was corrected before the 1/4 comparison and is not game-defect evidence. Both valid runs reached their check summaries and terminated; no Editor/player remains. Temporary setup/before/after logs stay under /tmp/tinychaos-batch08*. Do not commit raw logs.

Limits and preservation

This verifies imported configuration and guarded dispatch, not scene loading, Tutorial lessons, other navigation interactions, or a complete run. The batch-06 Linux binary predates this scene correction. A subsequent candidate must exercise actual Tutorial entry and gameplay. GAME-01's reported freeze remains unresolved; the owner's uncertain Unity-upgrade boundary remains a lead.

Package changes were reviewed as only Unity's automatic Linux toolchain insertion, then restored to exact pre-run bytes. The generated Linux Addressables metadata was removed. Other snapshotted settings, URP content, and version-control artifacts retain their prior bytes. No player or save operation ran. Unknown audio deletions and the nonempty Git index lock remain preserved; no commit/push was attempted.

The personal Unity stabilization skill records the preview-only UnityEvent lesson at its canonical source. Pause after this small batch under the owner's quota pacing; the overall stabilization goal remains unfinished.