{
 "schema": "aiblocks-page/1",
 "id": "agency-unity-editor-tool-developer",
 "type": "agent",
 "name": "Unity editor tool developer",
 "summary": "Plan a custom Unity Editor tool, such as an asset checker, inspector drawer or import rule, with Undo support and a build check.",
 "headline": "Unity editor tool developer",
 "subhead": "Tell it which job your team does by hand in Unity again and again. It picks the right kind of tool, sets the rules it must follow and plans how to test it with the people who will use it. You get a tool spec, a test list and an outline of the code.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "high",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-26",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "audit_report",
   "required": true,
   "label": "Audit report",
   "what": "findings with evidence, severity, missing inputs and next actions"
  }
 ],
 "you_give": [
  "The job people do by hand, and how often",
  "Who will use the tool, such as an artist, a designer or a build engineer",
  "Your Unity version",
  "The rules to enforce, such as naming, texture size or required components (optional)",
  "Existing editor scripts, if any (optional)"
 ],
 "you_get": [
  "The kind of tool to build and why that kind fits",
  "A spec for what it checks or does, and what the user sees",
  "The rules it must follow, such as Undo and editor-only code",
  "A C# outline of the main tool",
  "A test list and a way to try it with the real user first"
 ],
 "use_when": [
  "Your artists fix the same import settings by hand on every new texture or model.",
  "Broken assets, such as oversized textures or wrong names, reach testing before anyone notices.",
  "Your designers struggle to edit a field in the Inspector, and a custom drawer would help.",
  "You want the build to stop automatically when a project rule is broken."
 ],
 "skip_when": [
  "You want code that runs inside the game for players. Use the Unity software architect.",
  "You want a shader or look for materials. Use the Unity Shader Graph artist.",
  "You want a general developer tool outside Unity. Use the Developer tools engineer.",
  "Your team only needs a written checklist. Tooling costs more than a list does."
 ],
 "output_sample": {
  "input": [
   "The job your team does by hand and how often",
   "Who will use the tool",
   "Your Unity version",
   "The rules to enforce (optional)"
  ],
  "prerequisites": [
   "A Unity project you can edit, to build and test the tool"
  ],
  "output": [
   {
    "name": "The job",
    "contains": "The manual task, who does it, how often, and what goes wrong today."
   },
   {
    "name": "Tool choice",
    "contains": "Which kind of editor tool fits, and why the others do not."
   },
   {
    "name": "Spec",
    "contains": "What the tool checks or changes, what the user sees and the message when it acts."
   },
   {
    "name": "Rules it must follow",
    "contains": "Editor-only code, Undo, progress bars and settings that are safe to apply twice."
   },
   {
    "name": "Code outline",
    "contains": "The main class and key Unity calls, marked untested."
   },
   {
    "name": "Test list",
    "contains": "Tests to run in Unity, each with an expected result."
   },
   {
    "name": "Trial plan",
    "contains": "A first version, who tries it and what to write down."
   }
  ]
 },
 "output_shape": "THE JOB\n  <manual job> | <who does it> | <how often> | <what goes wrong today>\n\nTOOL CHOICE\n  <window, drawer, import rule, menu item or build check> | <why this kind>\n\nSPEC\n  <what it checks or does> | <what the user sees> | <message when it acts>\n\nRULES IT MUST FOLLOW\n  <editor-only code> | <Undo> | <progress bar> | <safe to run twice>\n\nCODE OUTLINE\n  <main class and key Unity calls, marked untested>\n\nTEST LIST\n  <test> | <expected result>\n\nTRIAL PLAN\n  <first version> | <who tries it> | <what to record>\n\nOPEN QUESTIONS\n  <what is missing or must be checked in the Unity docs>",
 "how_to_use": [
  "Download the pack and add it to your AI as a skill. If you cannot, paste SKILL.md and then references/source-agent.md into a new chat.",
  "Describe the manual job, who does it and how often. Add your Unity version. Say MISSING for anything you do not know.",
  "Say \"Pick the right tool kind, then give me the spec.\" Ask for the code outline only after you agree on the spec.",
  "Read the tool choice first. If it picks a window but you wanted an automatic rule, say so and ask again.",
  "Build the first version in Unity. Let the real user try it before you polish it. Write down where they get confused.",
  "Paste what you learned back and ask for the next version."
 ],
 "checks": [
  "The result addresses your actual task and cites the evidence used.",
  "Examples, role-play experience and targets are kept separate from verified results.",
  "Claims of tests, memory, tool access or completed actions match what actually happened."
 ],
 "next": [
  {
   "name": "Process and behavior change planner",
   "url": "https://useaiblocks.com/skills/structure-behaviour-split",
   "why": "Build it"
  }
 ],
 "source": {
  "by": "Michael Sitarzewski and Agency Agents contributors",
  "repo": "msitarzewski/agency-agents",
  "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/game-development/unity/unity-editor-tool-developer.md",
  "licence": "MIT",
  "original_name": "Unity Editor Tool Developer",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Unity Editor Tool Developer",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/game-development/unity/unity-editor-tool-developer.md",
   "used": "Original agent profile, preserved in references/source-agent.md; AI Blocks adds setup and review instructions."
  }
 ],
 "files": [
  "LICENSE",
  "references/source-agent.md",
  "SETUP.md",
  "source.json"
 ],
 "links": {
  "page": "https://useaiblocks.com/agents/agency-unity-editor-tool-developer",
  "markdown": "https://useaiblocks.com/agents/agency-unity-editor-tool-developer.md",
  "json": "https://useaiblocks.com/agents/agency-unity-editor-tool-developer.json",
  "instructions": "https://useaiblocks.com/skills/agency-unity-editor-tool-developer/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-unity-editor-tool-developer.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-unity-editor-tool-developer",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-unity-editor-tool-developer",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
