Skip to content

Releases: Kubonsang/unity-ctx

v0.8.0

Choose a tag to compare

@Kubonsang Kubonsang released this 10 Jul 04:46
d6c4e54

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's m_LocalPosition in place (Transform/RectTransform only; only the three axis numbers change, every other byte survives).
  • scene reparent (v2 ops[] patch) — move a Transform under a new parent: m_Father + both parents' m_Children updated atomically. Cycle-creating moves are refused at plan time (WOULD_CREATE_CYCLE).
  • scene delete (v2 ops[] patch, --cascade) — remove a GameObject + components (+ subtree), unlinking the parent's m_Children or the scene's SceneRoots. 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).
  • index snapshots now stamp the real build version in generated_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

Choose a tag to compare

@github-actions github-actions released this 15 Jun 08:33
ec35b8d
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

Choose a tag to compare

@github-actions github-actions released this 15 Jun 08:27
3e6b205
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

Choose a tag to compare

@github-actions github-actions released this 15 Jun 05:59
59cd769

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/app split; mutation/scalar.go extraction.

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

Choose a tag to compare

@Kubonsang Kubonsang released this 15 Jun 02:45
a45e912

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) and temp_check (candidate bytes before commit) — a blocking ERROR returns BLOCKED code=GRAPH_CHECK_FAILED (exit 0) and never touches the file, including dry-run.
    • final_check (re-read after a committed write) — failure returns ERROR WRITE_COMMITTED ... backup=<path> (exit 1) with the rollback path.
    • WARN findings are surfaced (CHECK lines) but do not block.
  • meta guid — resolve a prefab/asset GUID from its .meta file; NEED_PREFAB_GUID when absent, never a guess.
  • scene patch / scene suggest GUID auto-resolve--prefab-guid optional; resolved from .meta via --project.
  • refs (scene/prefab/asset) — read-only PPtr/GUID reference evidence, text + --json (with issues[] detail).
  • Uniform agent-facing contractBLOCKED/CHECK/REF/NEED_PREFAB_GUID prefixes, consistent JSON envelope (safety payload, patch_plan on blocked results), exit-code policy documented.

Install

go install github.com/Kubonsang/unity-ctx/cmd/unity-ctx@v0.6.0

Single static binary, no runtime dependencies.

🤖 Generated with Claude Code