Structural scene mutation: unity-ctx can now move, reparent, and delete existing scene objects — the first mutations that edit scene topology — plus a breaking exit-code contract fix.
New commands
scene reposition— rewrite a Transform'sm_LocalPositionin place (Transform/RectTransform only; only the three axis numbers change, every other byte survives).scene reparent(v2ops[]patch) — move a Transform under a new parent:m_Father+ both parents'm_Childrenupdated atomically. Cycle-creating moves are refused at plan time (WOULD_CREATE_CYCLE).scene delete(v2ops[]patch,--cascade) — remove a GameObject + components (+ subtree), unlinking the parent'sm_Childrenor the scene'sSceneRoots. Orphaning, prefab-instance content, and surviving in-file references all block.
Cross-file safety
New per-mutation reverse-reference scanner (internal/xref): walks Assets/ + Packages/, sniffs Unity text YAML by header, and recovers inline PPtrs in every serialization form via a brace-aware raw scan — anything it cannot fully account for is reported as indeterminate, never silently passed. Reparent surfaces inbound references as WARN; delete hard-blocks on them (--write requires --project).
⚠️ Breaking: BLOCKED now exits 3 (was 0)
A safety refusal is no longer distinguishable-only-by-prefix: BLOCKED (file untouched) exits 3, with an EnforceBlockedExit backstop at the CLI boundary. Automated callers branching on exit codes: treat 0 = OK/WARN/UNKNOWN/NEED_PREFAB_GUID, 1 = ERROR, 2 = usage, 3 = BLOCKED.
Engineering
- Safety kernel bumped to unity-fileid-graph
v0.9.2(transform symmetry gap closed in v0.9.1, transform cycle detection in v0.9.2). indexsnapshots now stamp the real build version ingenerated_by.- Docs synced end-to-end (README en/ko, COMMANDS, AGENT-USAGE, agent skill); full analysis in
docs/PROJECT-ANALYSIS-2026-07.md.
Slices S1–S5, PRs #34–#40, hardened by adversarial multi-lens reviews and verified against a real Unity project corpus.
Install: go install github.com/Kubonsang/unity-ctx/cmd/unity-ctx@v0.8.0
🤖 Generated with Claude Code