# build-gtk

Lets the agent author graph and state machine tools in the Unity editor through the public Unity.GraphToolkit.Editor API, checking the editor version first.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1500 installs · ★ 1149
- Author: Unity-Technologies
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Unity-Technologies/skills/tree/HEAD/skills/build-gtk/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/build-gtk

## What it does

The skill sets an order of work: read `m_EditorVersion` from `ProjectSettings/ProjectVersion.txt`, open the relevant reference pages, then write code. Graph Toolkit changed across editor releases, so names recalled from training can be wrong for the project at hand.

Four references ship with it. `references/graph-api.md` covers `Graph`, `Node`, port and option builders, subgraphs, variables and validation. `references/state-machine-api.md` handles states, transitions and conditions. `references/runtime-and-visualization.md` explains turning a graph into a runtime asset with `ScriptedImporter` and showing execution live. `references/pitfalls.md` lists mistakes the compiler lets through. A substitution table blocks retired names such as `GraphModel` and `UnityEditor.Experimental.GraphView`, pointing to their public replacements.

Version gates matter. The graph API arrives with 6000.6, while state machines and custom node views need 6000.7. Ask for a state machine tool on an older editor and the skill says so instead of faking it. Nothing is installed as a package because the module is built in, and `com.unity.graphtoolkit` must stay out of the manifest. Take a restore point before the agent starts editing.

## Requirements
- Works with: Unity

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill build-gtk -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/build-gtk/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/build-gtk/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill build-gtk -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/build-gtk/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill build-gtk -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/build-gtk/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Unity-Technologies/skills build-gtk
```

2. **Manually: put the files in place**
- File: `.github/skills/build-gtk/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill build-gtk -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/Unity-Technologies/skills --path skills/build-gtk
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/build-gtk/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill build-gtk -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/Unity-Technologies/skills/tree/HEAD/skills/build-gtk/SKILL.md

## When to use it
- build an editor graph tool on the public Graph Toolkit API
- add nodes whose ports follow inspector options
- report graph problems with markers placed on the offending node
- compile a graph into a runtime asset with `ScriptedImporter`
- port an existing GraphView tool to the current classes

## Example prompts
- Build a quest graph editor for Unity 6000.6 with connection validation
- Add a node whose port count comes from an inspector option
- Find out why the Add menu is empty and fix it using `references/pitfalls.md`

## Similar
- [orbit-card](https://affpapa.org/en/nevibecode/skills/orbit-card.md) — skill · 10000 installs
- [cad](https://affpapa.org/en/nevibecode/skills/cad.md) — skill · 14000 installs
- [step-parts](https://affpapa.org/en/nevibecode/skills/step-parts.md) — skill · 11200 installs
- [sdf](https://affpapa.org/en/nevibecode/skills/sdf.md) — skill · 10500 installs
- [urdf](https://affpapa.org/en/nevibecode/skills/urdf.md) — skill · 10500 installs
- [hatch-pet](https://affpapa.org/en/nevibecode/skills/hatch-pet.md) — skill · 3300 installs

From the same set: [unity-technologies/skills](https://affpapa.org/en/nevibecode/by/unity-technologies/skills.md) — 31 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
