3DAssets.dev

Unity + AI

Build Unity scenes with Claude Code

Unity and OpenAI both shipped official plugins that let an AI agent drive the Editor. Neither ships a single model. Here is how to connect one, and where to point it for the content.

3DAssets.dev4 min read

Two things happened in quick succession. Unity published an official plugin for Claude Code, and OpenAI announced an official Unity plugin for Codex. Both do the same fundamental thing: they let an agent drive the Unity Editor rather than just type into your scripts.

Both also share a gap. They give an agent hands and no materials. An agent that can create a GameObject, parent it, light it and press play still has nothing to put in the scene, so you get primitives, or you get a shopping trip to the Asset Store in the middle of a build.

That gap is the interesting part, and it closes with one more line of setup.

What the Unity plugin actually gives you

Unity's plugin installs three things at once: a set of Unity-authored skills, the Unity CLI, and Unity's own MCP server for live Editor control. The skills are the part people underrate. There are 29 of them, covering URP post-processing, UI Toolkit, sprite atlasing and auto-tiling, AI Navigation, physics diagnostics, IAP, LevelPlay, multiplayer sessions and WebGL optimisation, among others.

The practical effect of a skill is that the agent stops guessing at Unity's API surface from memory and follows a documented procedure instead. The practical effect of the MCP server is that it can see the scene as it currently is, rather than inferring it from files.

Install it

In Claude Code:

1/plugin marketplace add Unity-Technologies/unity-agent-plugin
2/plugin install unity@unity-agent-plugin

You are asked to pick a scope. User scope makes it available in every project and is the right default if you work across several Unity projects; project scope commits it to the repository for the whole team; local scope keeps it to you in this one repository. To skip the prompt:

1claude plugin install unity@unity-agent-plugin --scope local

Then check it took:

1/plugin
2/unity:

The first confirms the plugin is installed and enabled, the second lists the Unity skills available to you. You can also install it from the Claude desktop app under Plugins, then Browse, then Unity.

Codex has an official Unity plugin too, announced on 10 September 2026 by OpenAI's Codex developer experience lead, who came from Unity Labs. It is the same idea in the same shape: engine skills plus an MCP bridge into the Editor. Check the Codex plugin documentation for its current install command rather than adapting the Claude Code one, since the two marketplaces are separate.

Give the agent something to build with

Now add the catalogue. This is a second MCP server and it sits alongside Unity's, not instead of it:

1claude mcp add --transport http 3dassets https://3dassets.dev/mcp

No account, no key. The agent gains search_assets, get_asset, search_packs, get_pack and the rest, and every result carries a permanent CDN URL, a triangle count, a file size and a bounding box in metres.

The two servers do not compete. An MCP client merges the tool lists it is given, so the agent ends up holding "create a GameObject in the open scene" and "find me a low-poly market stall" at the same time, which is exactly the combination that makes a scene appear.

A prompt that uses both

1Set up a small medieval market in the open scene.
2
3Content: use 3dassets.dev. Find a pack that covers it rather than
4assembling loose props, and show me the model list with triangle counts
5before you download anything. Keep the whole scene under 200,000 triangles.
6
7Scene: lay it out as a place I can walk through, not a row. Give the
8stalls a square to sit around, and set up lighting that reads at midday.
9
10Tell me if a model needs converting before Unity will import it.

Ask for the list before the download for the same reason as always: it is much cheaper to say "that stall is modern" while it is one line of text than after twelve prefabs exist.

The one trap worth knowing before you start

Unity is the only major engine that cannot read these files as they ship, and an agent will hit it before you do.

Textured models here store their images as WebP through the EXT_texture_webp glTF extension, and list it as required. glTFast does not support that extension and its maintainers have said it will not. A required extension cannot be skipped by a conforming loader, so the model fails to load outright rather than arriving untextured.

The conversion is one command:

1npx @gltf-transform/cli png model.glb model-png.glb

That rewrites the textures as PNG and drops the extension, leaving geometry, materials and animations untouched. Most of the catalogue is untextured anyway, using flat material colours, and those files import with no conversion at all. Telling the agent about this up front, as the prompt above does, saves it a confusing failure. The Unity import guide has the detail.

Keep the agent honest about the Editor

Two habits are worth forming early, and they are about the Editor plugin rather than the models.

Commit before a long agent session. An agent with live Editor control can change a lot of scene state quickly, and scene files are the least pleasant thing in a Unity project to untangle by hand. A clean commit is a much better undo than Ctrl+Z across an Editor restart.

Ask for the plan, approve the plan, then let it run. These plugins are at their best on work that is tedious and well specified: placing forty props to a rule, wiring the same component across a set, importing and configuring a batch. They are at their worst when asked to invent art direction. Give the direction yourself and let the agent do the placing.

What this is actually good for

The honest use case is not "build my game". It is the hour of work between having an idea and having something you can walk around in. An agent with Editor control and a 17,000 model catalogue can put a rough version of a level in front of you while you are still describing it, and a rough level you can walk through tells you more than any amount of planning.

Everything it fetches is CC0, so whatever survives that first hour is yours to ship, with nothing to attribute and no licence to track.

Next

The same pairing works in other engines: Unreal has a first-party MCP plugin as of 5.8, and Godot has several community ones. If you would rather import by hand, importing free models into Unity covers glTFast without an agent involved.

Common questions

Can Claude Code control the Unity Editor?
Yes. Unity publishes an official plugin for Claude Code that installs Unity-authored skills, the Unity CLI and Unity's own MCP server for live Editor control. Install it with /plugin marketplace add Unity-Technologies/unity-agent-plugin followed by /plugin install unity@unity-agent-plugin. Once it is running the agent can inspect the open scene and act on it rather than only editing files on disk.
Does the Unity plugin for Claude Code come with 3D models?
No, and neither does the Codex one. They give an agent control of the Editor: creating GameObjects, wiring components, setting up lighting, running tests. The content is your problem. Connecting a second MCP server that serves a model catalogue is what gives the agent something real to place, rather than primitives.
Can I use two MCP servers at once?
Yes, and it is the normal case. An MCP client holds a list of servers and merges their tools, so an agent can hold Unity's Editor tools and a catalogue's search tools at the same time. The tool names do not collide because each server namespaces its own.
Why do downloaded GLB models fail to load in Unity?
Textured glTF files often require the EXT_texture_webp extension, and glTFast does not support it, so the import fails rather than producing an untextured model. Convert the file first with npx @gltf-transform/cli png model.glb model-png.glb, which rewrites the textures and leaves geometry, materials and animations alone.

Keep reading

AI setup

Give your AI assistant a 3D model library

An AI coding assistant can write a three.js scene in seconds and then fill it with grey cubes, because it has no models and no way to find any. Connecting it to a catalogue fixes that in one line.

Unity guide

How to import free 3D models into Unity

Unity does not read glTF out of the box. Install glTFast, drop the file in, and you have a prefab. Here is the setup, the render pipeline trap, and the one conversion textured models need.