disable the pre-split scene builders instead of retargeting them
Fixes the "no Yarn Project has been configured" error coming back after running the setup menus. Last commit fixed the wrong layer. Retargeting YarnDemoSetup at a sandbox stopped it destroying the level, but left the deeper problem: all of these builders assume the single-scene layout, and after the split there is no target path that makes them correct. Two failures, both observed rather than reasoned about. Running the Yarn setup left a generated scene open whose DialogueRunner had no project and auto-started — that is the error the user kept seeing, coming from Dev/YarnSandbox.unity, not from Systems. And retargeting the other three at Systems made PlayerControlSetup pull navigation in with it; the baked NavMeshData is embedded rather than an asset, so Systems.unity silently turned binary, 61KB text to 109KB binary. That is trap 1 recurring on a scene that had just been fixed. So the three scene builders now return early through LegacySceneSetup.Blocked, with a message saying what they would have done and what to do instead. They are not deleted: UILayerSetup alone is 818 lines that still record how the UI layer is wired, and that record matters until prefabs replace it in Phase 5. Set Up Skill System keeps its useful half. It regenerates the SkillDefinition assets from JSON, which touches no scene; only the WireWorkingLevelScene call is dropped, because those objects already exist in Systems.unity. Set Up Candidate System was always asset-only and is untouched. While diagnosing, YarnDemoSetup's own bug was found and fixed even though the menu is now blocked: it set yarnProject through a SerializedObject on a prefab instance without recording the override, so the assignment was dropped on save. It now records the modification and refuses to save a scene whose runner has no project. Verified by running all five menus headlessly: the two asset generators run and produce no diff, the three builders refuse, and no scene or asset changes. Systems.unity restored to text, the level scene intact at 5 roots. EditMode 42/42, PlayMode 6/6, YarnCheck 9 files / 35 nodes. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -486,13 +486,15 @@ should not be — see `docs/restructure-plan.md`.
|
||||
four runtime files use — without that, everything referencing it would have stopped compiling.
|
||||
Keep it in mind before adding loose scripts outside an asmdef folder.
|
||||
|
||||
5. **`Tools ▸ Nightclub Arcadia ▸ Set Up Yarn Sandbox Scene` overwrites its target scene
|
||||
wholesale.** It builds a scene from scratch and calls `SaveScene` over `ScenePath`. It is
|
||||
pinned to `Assets/Scenes/Dev/` and guarded by `ScenePaths.IsDisposable`, because it was once
|
||||
briefly retargeted at `SC101_ConferenceHall` and destroyed it — ten of fourteen roots, the
|
||||
player and the lighting included. **Never point a scene-generating menu at a real scene.**
|
||||
The other three setup menus (`PlayerControlSetup`, `UILayerSetup`, `SkillSystemSetup`) open
|
||||
and modify their target, which is safe.
|
||||
5. **The one-shot scene builders under `Assets/Editor` are disabled, on purpose.**
|
||||
`Set Up UI Layer`, `Set Up Player Control & Camera` and `Set Up Yarn Sandbox Scene` were
|
||||
written for the single-scene layout. After the split they do damage rather than work: pointed
|
||||
at a level they rebuild systems content that already exists in `Systems.unity`, and pointed at
|
||||
Systems, `PlayerControlSetup` drags navigation in and silently turns that scene binary (trap 1
|
||||
again). Both were observed. They now return early via `LegacySceneSetup.Blocked` and are kept
|
||||
only as a record of how the wiring works until prefabs replace them (Phase 5).
|
||||
`Set Up Skill System` and `Set Up Candidate System` still work — they regenerate assets from
|
||||
JSON and touch no scene. **To run the game, open `Bootstrap.unity` and press Play.**
|
||||
|
||||
6. **`unity run` reserves `-batchmode`, `-nographics`, `-quit`, `-logFile`.** Passing any of them
|
||||
after `--` is a hard error, and its output does not reach stdout — read `Logs/Editor.log` (§3.4).
|
||||
|
||||
Reference in New Issue
Block a user