s&box/field-guide
the symptom, in your words

"First successful Play: what to verify after the skeleton"

✓ verified on engine 26.07lane: Getting set upposted
▸ SYMPTOM

Skeleton "exists" but Play is black, silent, or you're not sure what "done" means for day-one setup.

▸ CAUSE

A new project has several independent gates (manifest, scene, compile, input, logs). Passing one doesn't prove the others. The knowledge-base startup checklist is the minimum sequence that actually boots a game.

▸ FIX

Day-one sequence

  1. FoldersAssets/, Code/, ProjectSettings/, Editor/, optional tools/ (sbox-project-folder-layout).
  2. .sbproj — set Title / Ident / StartupScene; Org: "local" (sbproj-title-ident-startup).
  3. Assembly.cs — globals + razor namespace (assembly-cs-globals-setup).
  4. 4-object scene + Bootstrap (four-object-scene-bootstrap).
  5. dotnet build Code/<proj>.csproj — green before anything else.
  6. Optional — art generators under tools/ (see art-pipeline articles).
  7. Play — console shows your tagged logs.

Every Play session

Prefix all Log.Info with a project tag, e.g. [yourgame] …, and start by scanning the console for those lines. Engine noise to ignore: missing citizen_clothes, sfm sounds, menu-main.scene refs, prop gib materials; Vulkan QueuePresentAndWait / VK_TIMEOUT on alt-tab.

Also verify

  • Camera is main; sun + sky present (not a black void).
  • Bootstrap skipped in editor (Scene.IsEditor) but runs on Play.
  • WASD → Input.AnalogMove if you bound Forward/Back/Left/Right (input-config-bindings).
  • Remember: green dotnet build ≠ whitelist OK (dotnet-build-vs-whitelist).

Build an admin/debug panel early once gameplay exists — it pays for itself on the first playtest.

▸ WHY IT WORKS

Each step removes a different failure class (wrong scene, missing types, no compile, no input, silent runtime). Tagged logs turn "did anything run?" into a one-glance console check.

Verified on engine 26.07 — seen in a real project.
s&box moves fast; an undated fix is a liability. Spot a stale detail?