Releases: Kubonsang/unity-ctx
Release list
v0.8.0
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
v0.7.2
v0.7.2: version reported on all install paths go install module@tag now self-reports the version via build info, release binaries via ldflags. Builds on v0.7.1's installable module path.
v0.7.1
v0.7.1: installable module path + version injection Fixes go install (module path is now github.com/Kubonsang/unity-ctx) and adds version tracking (--version, ldflags injection, MCP serverInfo). First tag that 'go install ...@v0.7.1' resolves correctly.
v0.7.0
Builds on the v0.6 safety-kernel integration with a wave of agent-facing tooling.
New commands
validate— read-only fileID graph integrity check (the write-path check, on demand). OK/WARN exit 0, ERROR exit 1.changes— structural diff of a file vs its.bak(what the last write changed), matched by fileID.restore— recover a file from its.bak; reports the restored content's integrity.deps— forward asset dependency export: referenced GUIDs resolved to project paths; text, Graphviz DOT (--out), or JSON.mcp— MCP server over stdio so Claude Code / MCP hosts call unity-ctx's read-only commands as native tools (claude mcp add unity-ctx -- unity-ctx mcp).
Engineering
- CI (build/vet/test + advisory lint) and this release workflow (these binaries were built by it).
- Makefile,
.golangci.yml,samples/MiniDungeon+ benchmarks. - Parser UTF-8 guard + determinism tests;
internal/appsplit;mutation/scalar.goextraction.
Mutations remain dry-run-first and gated by the pre/temp/final graph check; the MCP server exposes read-only tools only. Deferred to v1.0: batch patch, project index, structural mutation.
Install: go install github.com/Kubonsang/unity-ctx/cmd/unity-ctx@v0.7.0
🤖 Generated with Claude Code
v0.6.0 — YAML Safety Integration
unity-ctx v0.6.0 — YAML Safety Integration
Every write path is now gated by the unity-fileid-graph safety kernel (v0.9.0), consumed as a Go library. unity-ctx provides the agent-facing command surface; the kernel decides whether each mutation is safe at the Unity-YAML / fileID-graph level.
Highlights
- Three-phase graph integrity check on
scene apply,prefab set,asset set:pre_check(target before planning) andtemp_check(candidate bytes before commit) — a blockingERRORreturnsBLOCKED code=GRAPH_CHECK_FAILED(exit 0) and never touches the file, including dry-run.final_check(re-read after a committed write) — failure returnsERROR WRITE_COMMITTED ... backup=<path>(exit 1) with the rollback path.WARNfindings are surfaced (CHECKlines) but do not block.
meta guid— resolve a prefab/asset GUID from its.metafile;NEED_PREFAB_GUIDwhen absent, never a guess.scene patch/scene suggestGUID auto-resolve —--prefab-guidoptional; resolved from.metavia--project.refs(scene/prefab/asset) — read-only PPtr/GUID reference evidence, text +--json(withissues[]detail).- Uniform agent-facing contract —
BLOCKED/CHECK/REF/NEED_PREFAB_GUIDprefixes, consistent JSON envelope (safetypayload,patch_planon blocked results), exit-code policy documented.
Install
go install github.com/Kubonsang/unity-ctx/cmd/unity-ctx@v0.6.0Single static binary, no runtime dependencies.
🤖 Generated with Claude Code