Unity C# Edit

SkillFiles & storage

Implement, fix, and refactor Unity C# code with unity-cli write tools. Use when the user wants to change behavior in .cs files, create or rewrite scripts, update multiple C# files together, rename a symbol, add or remove members, or change project or package settings as part of a code change. Do not use for read-only inspection with no planned edit; use `unity-csharp-navigate` instead.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Unity C# Edit skill

What this skill tells your AI

The instructions your AI receives, as published by akiojin/unity-cli in .claude-plugin/plugins/unity-cli/skills/unity-csharp-edit/SKILL.md and read by ahel’s review.

Implement Unity C# changes with unity-cli as the primary write path. Prefer the smallest write primitive that keeps the change correct, and preserve Unity serialization, UI binding paths, and editor/runtime boundaries.

Use When

  • The user intends to change C# behavior in .cs files.
  • The user wants to create or rewrite scripts (single or coordinated multi-file).
  • The user asks for a symbol rename, member add/remove, or refactor.
  • The user changes project or package settings as part of a code change.

Do Not Use When

  • The task is read-only investigation; use unity-csharp-navigate.
  • The work targets Editor state inspection (console, profiler, packages); use unity-editor-tools.

Preferred Flow

  1. Decide the write shape: symbol edit, full-file write, multi-file write, or settings change.
  2. Read only the minimum context with read, get_symbols, find_symbol, or find_refs.
  3. Preview risky symbol edits with apply: false.
  4. Apply with refresh, waitForCompile, and updateIndex when later steps depend on clean diagnostics.
  5. Inspect changedFiles, changedSymbols, and diagnostics; fix compilation issues before unrelated follow-up.
unity-cli raw get_symbols --json '{"path":"Assets/Scripts/Player.cs"}'
unity-cli raw rename_symbol --json '{"relative":"Assets/Scripts/Player.cs","namePath":"Player/Jump","newName":"Leap","apply":false}'
unity-cli raw apply_csharp_edits --json '{"files":[{"relative":"Assets/Scripts/IPlayerMover.cs","newText":"public interface IPlayerMover { void Move(); }\n"}],"validate":true,"apply":true,"waitForCompile":true,"updateIndex":true}'
unity-cli raw get_compilation_state --json '{}'

Examples

  • "Implement dash cooldown in PlayerController.cs and update the related tests."
  • "Rename Jump to Leap across the player package without breaking serialized field names."
  • "Create a new editor utility script and change the matching project setting."
  • "Refactor an interface, its implementation, and the tests in one coordinated write."

References

Signals

GitHub stars
103
Forks
12
Last commit
Aug 2026
Advanced
Catalog kind
skill
Gateway key
unity-csharp-edit
Source
github.com/akiojin/unity-cli