{
 "schema": "aiblocks-page/1",
 "id": "agency-godot-gameplay-scripter",
 "type": "agent",
 "name": "Godot gameplay programmer",
 "summary": "Plan a Godot 4 gameplay feature with a clean scene layout, typed signals and GDScript or C# code, plus a checklist to test it in the editor.",
 "headline": "Godot gameplay programmer",
 "subhead": "Describe the gameplay feature and share your scene tree or scripts. It plans the nodes, signals and typed code, and finds global state that should not be global. You get a plan and draft code to test in Godot.",
 "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": "source_text",
   "required": false,
   "label": "Source text",
   "what": "a long source in full: an article, a video or talk transcript, or notes from a book, with its title, author and link"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  }
 ],
 "you_give": [
  "The gameplay feature you want, and how it should behave",
  "Your Godot version and language, GDScript, C# or both",
  "The scene tree and the scripts it touches, pasted as text (optional)",
  "Your Autoload list and what each one does (optional)",
  "Anything the feature must not break"
 ],
 "you_get": [
  "A node and scene plan with each part as its own scene",
  "A signal list with names, typed values, who sends and who listens",
  "A review of your Autoloads and what to move out of them",
  "A typing plan for GDScript, and the GDScript and C# split if both are used",
  "Draft code for the parts you ask for, marked as not run",
  "A test checklist to run in the Godot editor"
 ],
 "use_when": [
  "You are adding a gameplay feature, such as health, an inventory or an enemy, and want the node and signal plan first.",
  "Your player script has grown past what you can follow and you want it split into parts.",
  "Signals break at run time or scenes only work when placed under a certain parent.",
  "You want to move from untyped GDScript to typed code without breaking the game."
 ],
 "skip_when": [
  "You need players to share a game over a network. Use the Godot multiplayer designer.",
  "You want visual effects, such as outlines, dissolve or water. Use the Godot Shader Developer agent.",
  "You want ideas for the loop, goals or balance of the game. Use the Gameplay designer.",
  "Your project is in Unity. Use the Unity software architect."
 ],
 "output_sample": {
  "input": [
   "The gameplay feature you want and how it should behave",
   "Your Godot version and whether you use GDScript, C# or both",
   "Your scene tree and the scripts it touches (optional)"
  ],
  "prerequisites": [
   "An AI that can read files, such as Claude, ChatGPT or Gemini",
   "The Godot editor, to run the draft code and the tests"
  ],
  "output": [
   {
    "name": "Scenes and components",
    "contains": "Each part as its own scene, with its settings and a note on whether it runs alone."
   },
   {
    "name": "Signals",
    "contains": "Every signal with typed values, the sender and the listeners."
   },
   {
    "name": "Autoload review",
    "contains": "Which Autoloads to keep, change or remove, and why."
   },
   {
    "name": "Typing plan",
    "contains": "Where to add types in GDScript and where C# is worth using."
   },
   {
    "name": "Draft code",
    "contains": "Code for the parts you asked for, marked as not run."
   },
   {
    "name": "Test checklist",
    "contains": "Tests to run in the editor, including each scene on its own."
   }
  ]
 },
 "output_shape": "FEATURE AND ASSUMPTIONS\n  <feature> | <Godot version and language> | <must not break> | <assumptions>\n\nSCENES AND COMPONENTS\n  <scene> | <what it does> | <children and exported settings> | <runs alone: yes or no>\n\nSIGNALS\n  <signal name> | <typed values> | <sent by> | <heard by> | <when it fires>\n\nAUTOLOAD REVIEW\n  <autoload> | <keep, change or remove> | <why>\n\nTYPING PLAN\n  <area> | <change> | <risk>\n\nDRAFT CODE (NOT RUN)\n  <file name> | <what it does>\n\nTEST CHECKLIST\n  <test> | <how to run it> | <what a pass looks like>\n\nOPEN QUESTIONS AND NEXT STEP\n  <question> | <who can answer it> | <next action>",
 "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.",
  "Paste your feature description, your Godot version and the scene tree. Paste the scripts it touches if you have them.",
  "Type \"Plan this feature as components with typed signals, then draft the code.\" Your AI asks once for anything missing.",
  "Read the signal list first. Each signal is a promise between parts, so fix names or types before any code.",
  "Copy the draft code into a test scene. Run that scene alone in Godot, then in the full game.",
  "Fix anything the editor warns about before you add the next feature. Your AI cannot run Godot for you."
 ],
 "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": "Roblox systems programmer",
   "url": "https://useaiblocks.com/skills/agency-roblox-systems-scripter",
   "why": "Build it"
  },
  {
   "name": "Database schema designer",
   "url": "https://useaiblocks.com/skills/database-schema-designer",
   "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/godot/godot-gameplay-scripter.md",
  "licence": "MIT",
  "original_name": "Godot Gameplay Scripter",
  "commit": "b37b5bb33b78f2c1d6567d98e25ca818e3259219"
 },
 "credits": [
  {
   "title": "Godot Gameplay Scripter",
   "by": "Michael Sitarzewski and Agency Agents contributors",
   "url": "https://github.com/msitarzewski/agency-agents/blob/b37b5bb33b78f2c1d6567d98e25ca818e3259219/game-development/godot/godot-gameplay-scripter.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-godot-gameplay-scripter",
  "markdown": "https://useaiblocks.com/agents/agency-godot-gameplay-scripter.md",
  "json": "https://useaiblocks.com/agents/agency-godot-gameplay-scripter.json",
  "instructions": "https://useaiblocks.com/skills/agency-godot-gameplay-scripter/SKILL.md",
  "download": "https://useaiblocks.com/skills/agency-godot-gameplay-scripter.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/agency-godot-gameplay-scripter",
  "api_document": "https://useaiblocks.com/api/v1/documents/agent/agency-godot-gameplay-scripter",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
