Docs · Best Practices

Make simple, effective AI requests.

AI Game Developer gives an AI agent hands inside your live editor. You bring the agent; you describe outcomes in plain language. This guide covers what makes a request land, how to discover what the agent can do, and the engine-specific recipes for Unity, Unreal Engine, and Godot.

Last updated: 2026-06-17 View as Markdown

Anatomy of a good request

A good first request is small, concrete, and verifiable. The agent picks the right tool(s) and executes them; you confirm the result in the editor.

  1. State the concrete outcome, not the tool

    Say "Create a third-person player controller in the current scene", not "call gameobject-create then gameobject-component-add". The agent maps intent to the right tools.

  2. Reference the current context

    "In the active scene", "on the selected object", "under the World node" — the plugins have read tools (find, get-data, selection-get) so the agent can resolve these.

  3. Keep the first request tiny

    One scene, one object, one script. Verify it worked, then build up. Big multi-step asks are fine once you trust the loop.

  4. Ask for a screenshot to verify visually

    Every engine has screenshot tools (viewport / game view / camera / isolated). "…then take a screenshot so I can see it" closes the loop with feedback the agent can also read.

  5. Let the agent read errors and self-correct

    Compile/console tools return structured error+warning lists (Unreal Blueprint/C++ compile, Unity console, Godot console). "Compile it and fix any errors" is a valid, powerful request.

  6. Name things explicitly when you will refer back

    Create an actor named `Crate`, and the next request can simply say "move the Crate".

A reliable shape for a first request:

In the current scene, create <thing> named <name>, set <one property>, then take a screenshot.

Before you ask: connect

Every engine plugin offers the same two connection modes. Wait for the editor status to read Ready (green) before asking for work.

  • Cloud (default) — Connect through ai-game.dev using the device-code OAuth flow — no tokens to copy by hand. In the AI Game Developer editor window choose Cloud, click Authorize, and approve the device code in your browser. Works across firewalls; gives usage analytics. Most users. This is the recommended default.
  • Custom (self-hosted) — Point the plugin at your own gamedev-mcp-server instance instead of the hosted endpoint. Your AI client talks straight to your machine. Per-client config snippets live on the MCP endpoint page (/mcp-endpoint-info). Local-only / offline / self-hosted setups, or when you want full control of the server.

Discover what the AI can do

You do not need to memorize tool ids. Discovery is conversational and works across every engine.

  • Ask the agent to enumerate its tools — "List the AI Game Developer tools you can call right now." Every plugin exposes its manifest through the MCP tools/list call your client makes on connect.
  • Ask for the tool families — "What families of tools do you have for this engine — scenes, assets, scripts, …?" Use the per-engine family maps below as the ground-truth list.
  • Ask what is installed — on Unity, extensions add families only when their package is present. "Do you have Cinemachine / Terrain / Timeline tools available?"
  • Probe the connection first — "Ping the plugin to check the connection." Confirms the AI client ⇄ server ⇄ editor chain is live before real work.
  • Ask the agent to describe a specific tool — "What parameters does the actor/spawn (or gameobject-create) tool take?" MCP tools carry JSON schemas.
  • Use reflection as an escape hatch — all three engines expose reflection/method tools so the agent can discover and invoke engine API methods that have no dedicated tool.

A discovery recipe that works on any engine:

  1. Ping the plugin and confirm we are connected.
  2. List every tool you can call, grouped by family.
  3. Give me a one-line summary of what each family is for.
  4. Show me the current scene / level / active scene tree. (a read tool)
  5. Pick one family and ask for a tiny concrete action plus a screenshot.

Per-engine best practices

Each engine page has a direct definition, the tool-family map, five-plus copy-pasteable example prompts, a "your first request" recipe, and engine-specific pitfalls.

Frequently asked

How do I make a good first AI request?

Keep it small, concrete, and verifiable: "In the current scene, create <thing> named <name>, set <one property>, then take a screenshot." State the outcome, not the tool — the agent maps intent to the right tools — and confirm the result in the editor before building up.

How do I find out what the AI agent can do in my engine?

Ask it directly. "List the AI Game Developer tools you can call right now, grouped by family." Every plugin exposes its full tool manifest through the MCP tools/list call your client makes on connect, and MCP tools carry JSON schemas, so the agent can also describe any tool’s parameters on request.

Do I need to know tool ids or write any code?

No. Discovery is conversational and you describe outcomes in natural language. You never call tool ids by hand — the agent picks the right tools. For anything without a dedicated tool, all three engines expose a reflection escape hatch so the agent can find and call engine API methods directly.

Why is the agent saying it has no Cinemachine / Terrain / Timeline tool?

On Unity those families come from separate unity-ai-* extension packages. If the matching package is not installed, the family is absent. Install it (e.g. openupm add com.ivanmurzak.unity.mcp.cinemachine) and reopen the project. Unreal (6 Unreal-AI-* packages) and Godot (10 Godot-AI-* packages) now ship extension families too — install the matching package and reopen the editor. Each engine also has a rich built-in tool set.

My tool calls are failing — what should I check first?

Make sure the editor status pill is Ready / green before asking for work, and that the plugin is installed, enabled, and the editor is open — AI Game Developer drives a live editor, not a headless code generator. Run the ping tool to round-trip the AI client ⇄ server ⇄ editor chain.

Keep going