by TomLeeLive
55 MCP tools to drive the Unity Editor from any MCP-compatible AI agent — scenes, GameObjects, prefabs, assets, tests, and builds. OpenClaw gateway included for remote and chat access.
# Add to your Claude Code skills
git clone https://github.com/TomLeeLive/openclaw-unity-pluginGuides for using ai agents skills like openclaw-unity-plugin.
Last scanned: 8/5/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-05T06:28:13.788Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}openclaw-unity-plugin is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by TomLeeLive. 55 MCP tools to drive the Unity Editor from any MCP-compatible AI agent — scenes, GameObjects, prefabs, assets, tests, and builds. OpenClaw gateway included for remote and chat access. It has 106 GitHub stars.
Yes. openclaw-unity-plugin passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/TomLeeLive/openclaw-unity-plugin" and add it to your Claude Code skills directory (see the Installation section above).
openclaw-unity-plugin is primarily written in C#. It is open-source under TomLeeLive on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh openclaw-unity-plugin against similar tools.
No comments yet. Be the first to share your thoughts!
TL;DR: Vibe-code your game development remotely from anywhere! 🌍
한줄요약: 이제 집밖에서도 원격으로 바이브코딩으로 게임 개발 가능합니다! 🎮
Connect Unity to OpenClaw AI assistant via HTTP. Works in Editor mode without hitting Play!
This software is in beta. Use at your own risk.
See LICENSE for full terms.
This plugin supports two connection modes - use whichever fits your workflow:
Telegram/Discord/Web → OpenClaw Gateway → Unity Plugin
Claude Code/Desktop → MCP Server → Unity Plugin
| Mode | Setup |
|---|---|
| OpenClaw | Just install plugin, Gateway handles connection |
| MCP | Enable MCP Bridge: Window > OpenClaw > Start MCP Bridge |
📖 Setup Guide | 셋업 가이드
| Component | Version |
|---|---|
| Unity | 2021.3+ |
| OpenClaw | 2026.2.3+ |
⚠️ Tested on Unity 6000.3 (Unity 6.3 LTS) only.
While designed for Unity 2021.3+, this plugin has only been tested on Unity 6000.3.7f1 (Unity 6.3 LTS). If you encounter issues on other Unity versions, please:
- 🐛 Open an Issue with your Unity version and error details
- 🔧 Submit a Pull Request if you have a fix
Your contributions help make this plugin work across all Unity versions!
Window > Package Manager)+ → Add package from git URL...https://github.com/TomLeeLive/openclaw-unity-plugin.git
Window > Package Manager → + → Add package from disk...package.json fileCopy the gateway extension files to OpenClaw:
# Copy extension files
cp -r OpenClawPlugin~/* ~/.openclaw/extensions/unity/
# Restart gateway to load the extension
openclaw gateway restart
# Verify
openclaw unity status
Note:
OpenClawPlugin~contains the gateway extension that enablesunity_executeandunity_sessionstools. This is required for OpenClaw to communicate with Unity.
See Installation above for Git URL or local package setup.
Window > OpenClaw Pluginhttp://localhost:18789 (default)Ask OpenClaw to inspect your scene, create objects, or debug issues - all without entering Play mode!
The companion skill provides workflow patterns and tool references for the AI:
# Clone skill to OpenClaw workspace
git clone https://github.com/TomLeeLive/openclaw-unity-skill.git ~/.openclaw/workspace/skills/unity-plugin
The skill provides:
Note: The skill is separate from the gateway extension. The extension enables the tools; the skill teaches the AI how to use them effectively.
| Tool | Description |
|---|---|
console.getLogs |
Get Unity console logs (with type filter) |
console.getErrors |
Get error/exception logs (with optional warnings) |
console.clear |
Clear captured logs |
| Tool | Description |
|---|---|
scene.list |
List all scenes in build settings |
scene.getActive |
Get active scene info |
scene.getData |
Get scene hierarchy data |
scene.load |
Load a scene by name (Play mode) |
scene.open |
Open a scene in Editor mode |
scene.save |
Save active scene (Editor mode) |
scene.saveAll |
Save all open scenes (Editor mode) |
| Tool | Description |
|---|---|
gameobject.find |
Find by name, tag, or component type |
gameobject.getAll |
Get all GameObjects with filtering |
gameobject.create |
Create GameObject or primitive |
gameobject.destroy |
Destroy a GameObject |
gameobject.delete |
Delete a GameObject (alias for destroy) |
gameobject.getData |
Get detailed object data |
gameobject.setActive |
Enable/disable object |
gameobject.setParent |
Change parent |
| Tool | Description |
|---|---|
transform.getPosition |
Get world position (x, y, z) |
transform.getRotation |
Get rotation in Euler angles |
transform.getScale |
Get local scale |
transform.setPosition |
Set world position |
transform.setRotation |
Set rotation (Euler) |
transform.setScale |
Set local scale |
| Tool | Description |
|---|---|
component.add |
Add component to object |
component.remove |
Remove component |
component.get |
Get component data |
component.set |
Set field/property value |
component.list |
List available types |
| Tool | Description |
|---|---|
script.execute |
Execute code/methods (Debug.Log, Time.timeScale, PlayerPrefs, reflection calls) |
script.read |
Read script file contents |
script.list |
List script files in project |
| Tool | Description |
|---|---|
app.getState |
Get play mode, FPS, etc. |
app.play |
Enter play mode (Editor) |
app.pause |
Toggle pause (Editor) |
app.stop |
Exit play mode (Editor) |
| Tool | Description |
|---|---|
debug.log |
Write to console |
debug.screenshot |
Capture screenshot (with UI) |
debug.hierarchy |
Text hierarchy view |
| Tool | Description |
|---|---|
editor.refresh |
Refresh AssetDatabase (triggers recompile) |
editor.recompile |
Request script recompilation |
editor.domainReload |
Force domain reload (reinitializes static fields) |
editor.focusWindow |
Focus Editor window (game/scene/console/hierarchy/project/inspector) |
editor.listWindows |
List all open Editor windows |
| Tool | Description |
|---|---|
input.keyPress |
Press and release a key |
input.keyDown |
Press and hold a key |
input.keyUp |
Release a key |
input.type |
Type text into input field |
input.mouseMove |
Move mouse cursor |
input.mouseClick |
Click at position |
input.mouseDrag |
Drag from A to B |
input.mouseScroll |
Scroll wheel |
input.getMousePosition |
Get current cursor position |
input.clickUI |
Click UI element by name |
⚠️ Input Simulation Limitation: Keyboard/mouse simulation works for UI interactions (Button clicks, InputField typing) but NOT for gameplay input using
Input.GetKey()or legacy Input Manager. This is a Unity limitation -Input.GetKey()reads directly from the OS input buffer. For automated gameplay testing, usetransform.setPositionto move objects directly, or migrate to Unity's new Input System which supports programmatic input injection.
| Tool | Description |
|---|---|
material.create |
Create material with shader, color, metallic, smoothness |
material.assign |
Assign material to GameObject |
material.modify |
Modify material properties (color, metallic, emission, etc.) |
material.getInfo |
Get detailed material info with all shader properties |
material.list |
List materials in project with filtering |
| Tool | Description |
|---|---|
prefab.create |
Create prefab from scene GameObject |
prefab.instantiate |
Instantiate prefab in scene with pos |