BUILDGOBLIN / FIELD GUIDE 01 / PREVIEW

Small change.
Real build.
Proof.

A practical lab for checking what an AI-assisted Unity change actually did. You get a small playable project, a native-build verifier, two deliberately broken scenarios and a bounded feature exercise.

01 / Play before you prompt

Run Build/BuildGoblin.exe. Click a target to fire. The magazine holds six rounds. R reloads; Space pauses. A shot while paused or reloading must not consume ammunition. Reload must take 1.2 seconds of unpaused time.

Read the setup requirements before running scripts. The source project is qualified on Windows with Unity 6000.3.17f1. Other Editor versions are not claimed compatible.

02 / Run the contract

& ./tools/Verify-Build.ps1 -IncludeSeededFaults

The verifier checks every payload file against the saved build manifest before starting the player. Each run gets a fresh random identifier. The player reports its embedded build identity and the observed assertions. Exit code alone is not enough.

Reports go to Evidence/, outside the sealed Build folder. Each result says what it observed. Synthetic input checks the declared code path; it is not a physical controller test.

03 / Try to fool the report reader

& ./tools/Test-Verifier.ps1

This takes an actual successful report, makes separate in-memory mutations and checks that the reader rejects a stale run ID, wrong build ID, missing assertion, duplicate assertion, zero assertions, inconsistent exit code and a string masquerading as a Boolean. The original report stays intact. Two additional rejection checks cover non-Boolean input provenance and an unrelated failure in the seeded pause case: nine rejection checks in total.

04 / Give the agent one job

Copy the sample to a practice folder. Give your coding agent this bounded feature task: cancel and restart reload without losing the pause guarantees. The task includes acceptance criteria and review questions.

Before editing, ask it to identify the seam, explain how it will test the behavior and preserve the baseline. After editing, inspect the diff. Reject unexplained changes to the required assertion set. An agent changing the test to accept its bug is not a successful implementation.

05 / Build what you reviewed

Open the practice project in the supported Unity Editor. The BuildGoblin → Build Windows sample menu creates the supplied scene and writes a native Windows player to the sibling Build folder. Save other scene work first: this menu intentionally replaces the active scene with the sample.

& ./tools/Seal-Build.ps1
& ./tools/Verify-Build.ps1 -IncludeSeededFaults

Sealing is appropriate after a build you intentionally produced. It is not a repair button for an unexplained changed download. Check the build log and file origin first.

06 / Recover with evidence

Follow the sample-only recovery checklist. Keep the failed candidate's evidence, restore the changed source from your retained baseline, rebuild and run again. A fresh build has a new identity even when its source is restored.

What a useful result looks like

“Build X, run Y: the required assertions passed; the deliberate pause and disabled-input cases failed as expected. Source changes were limited to these files. This does not test the physical keyboard or other Unity versions.”

That tells you more than “the agent said it worked.” It also tells you exactly what is still unknown.

Before using this in your own game

Define your own assertions and connect them to real gameplay paths. Keep the identity and completeness checks, but do not reuse sample-specific expectations blindly. Test on a second small project before trusting an adapted helper with valuable work.

No savings, sales, adoption or unattended-operation claims are made for this preview. It has local engineering checks, not independent buyer validation.