Working with Unity

Git panel

Review what agents changed beside the running game, and keep your local-only edits out of every commit with Env Changes.

Agents change a lot of files, and you still read the diff. The Git panel is a Source Control client ported from VS Code. It sits beside the running game and the agent terminals, so you read the diff next to the result. Open it from New session (+).

The Git panel beside the game.

What it has

  • A tree view of Staged, Changes and Env Changes.
  • A commit graph, side-by-side or inline diffs, stashes and git blame.
  • The 3-way merge editor, with Accept Current, Incoming or Both.
  • Before and after images for scenes, prefabs and textures, Git LFS included, instead of "binary file" or the mangled diff a terminal shows.
  • Commit, push, pull (rebase or merge, with autostash), fetch and publish, one click each.

On a big diff, Alt-click (Option-click on macOS) toggles a whole subtree.

Env Changes

Some files hold edits that should never be committed: a localhost address, a debug flag, a key. Mark such a file as an env file and your edits stay in Env Changes, out of the index. Git doesn't know the list, so a plain git add -A would pick the file up. The panel flags an env file that someone staged that way.

  • A real change to the same file can still be committed.
  • The list lives in .sspace/never-commit.json, not in .gitignore.
  • A file gets a snapshot of your edits only when it's tracked text that git merges as text; the .gitattributes merge, text and binary attributes decide. Any other env file stays out of commits as a whole.

Agents follow the same rules

Agents use the same env file rules through env.* in satura_exec. Before a commit, an agent checks whether git add is safe for its paths, and stages only its own new lines in an env file. Your env edits stay out of the index, and the working file doesn't change.

await env.check(['Assets/Config/Server.json'])
await env.stage(['Assets/Config/Server.json'])

Agents add or remove env files only when you ask.

Your own Git tools

You don't have to use the panel. The project is an ordinary git repository, so your own Git tools keep working.