by FunplayAI
The Most Advanced MCP Server for Unity Editor with execute_code, prompts/resources, input simulation, screenshots, and play mode automation.
# Add to your Claude Code skills
git clone https://github.com/FunplayAI/funplay-unity-mcpGuides for using mcp servers skills like funplay-unity-mcp.
Last scanned: 6/11/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-06-11T08:50:10.182Z",
"npmAuditRan": false,
"pipAuditRan": true,
"promptInjectionRan": true
}No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
30 days in the Featured rail · terms & refunds
💖 If you find this project useful, please consider giving it a Star. It helps more Unity developers discover it and supports ongoing development.
Funplay MCP for Unity is an MIT-licensed Unity Editor MCP server that lets AI assistants like Claude Code, Cursor, LM Studio, Windsurf, Codex, and VS Code Copilot operate directly inside your running Unity project.
Describe your game in one sentence — your AI assistant builds it in Unity through Funplay MCP for Unity's 91 built-in tools for scene creation, script generation, runtime validation, input simulation, performance analysis, and editor automation.
"Build a snake game with a 10x10 grid, food spawning, score UI, and game-over screen"
Your AI assistant handles it through Funplay MCP for Unity: creates the scene, generates all scripts, sets up the UI, and configures the game logic — all from a single prompt.
If you just want to get connected fast, do these three things:
Funplay > MCP ServerIn Unity, go to Window → Package Manager → + → Add package from git URL:
https://github.com/FunplayAI/funplay-unity-mcp.git
💡 Before you clone or install, a quick ⭐ on GitHub would be greatly appreciated.
If you want Unity Package Manager to show registry-backed package version history and allow version selection, install from OpenUPM instead of Git.
Using the OpenUPM CLI:
openupm add com.gamebooom.unity.mcp
Or add the scoped registry manually in Packages/manifest.json:
{
"scopedRegistries": [
{
"name": "OpenUPM",
"url": "https://package.openupm.com",
"scopes": [
"com.gamebooom"
]
}
],
"dependencies": {
"com.gamebooom.unity.mcp": "0.4.3"
}
}
If you installed from a Git URL before, remove the Git dependency first, then install from OpenUPM. Git-installed packages only show the resolved Git version in Unity and do not get the registry-backed Version History list.
Menu: Funplay → MCP Server to start the server.
The server starts on http://127.0.0.1:8765/ by default.
Open Funplay → Tool Exposure if you want to edit the exact tools exposed by core or full.
Open Funplay → MCP Settings if you need to adjust execute_code safety defaults or plugin debug logging.
Use the built-in One-Click MCP Configuration in the Funplay > MCP Server window first.
Select your target client, click Configure, and the package writes the recommended MCP config entry for you.
For Claude Code, Cursor, and Codex, click Configure + Skills to also install the default project MCP workflow skill.
If you want project-specific AI guidance for the current Unity project, open Funplay → Project Skills to choose supported platforms and install the default unity-mcp-workflow skill.
If you prefer to edit config files manually, use the examples below as fallback references:
{
"mcpServers": {
"funplay": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
{
"mcpServers": {
"funplay": {
"url": "http://127.0.0.1:8765/"
}
}
}
LM Studio's mcp.json location can vary by version and platform. Prefer Program > Install > Edit mcp.json in LM Studio. Funplay's one-click Configure button opens LM Studio's lmstudio://add_mcp link and only updates an existing config file if one is already present, instead of creating a guessed path.
{
"mcpServers": {
"funplay": {
"url": "http://127.0.0.1:8765/"
}
}
}
{
"servers": {
"funplay": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
{
"mcpServers": {
"funplay": {
"url": "http://127.0.0.1:8765/"
}
}
}
{
"mcpServers": {
"funplay": {
"type": "http",
"url": "http://127.0.0.1:8765/"
}
}
}
[mcp_servers.funplay]
url = "http://127.0.0.1:8765/"
Use the same JSON structure as Cursor unless your local Windsurf version requires a different MCP config format.
Open your AI client and try a few safe requests first:
get_scene_info and tell me what scene is open."unity://project/context and summarize the current editor state."execute_code to return the active scene name."If those work, the MCP server, resources, and primary execution tool are connected correctly.
Open your AI client and try: "Create a 3D platformer level with 5 floating platforms"
http://127.0.0.1:8765/ by default.UserSettings/FunplayMcpSettings.json.core MCP tool profile to reduce tool-list noise for AI clients. core currently exposes 29 high-signal tools centered on execute_code, play mode control, input simulation, screenshots, performance inspection, logs, compilation checks, structured object location and component editing, editor selection / prefab-stage state, and execute_menu_item as a low-friction fallback. Switch to full in the MCP Server window if you want all 91 tools exposed.execute_code safety checks and the stricter filesystem guard are enabled by default from Funplay > MCP Settings. The guard blocks obvious destructive snippets, broad System.IO writes, raw file streams, and absolute/user/system/traversal paths, but it is not a complete sandbox. Clients may still override the default per call with the optional safety_checks argument.Funplay > Check for Updates can refresh Git installs in place or download and import the latest unitypackage automatically.execute_code First — Optimized around one in-memory C# execution tool for rich editor/runtime orchestration. See execute_code: In-Memory C# Execution below for details.execute_code now has persistent default-on safety toggles, including a stricter filesystem guard for clients that do not expose per-call arguments clearlycore exposes a compact high-signal toolset; full exposes all 91 toolsinstanceId Chaining — Tools return {success, message, data} JSON with stable instanceId fields so agents can chain by_id calls reliably instead of re-resolving by nameIFunplayCommand for execute_code — New snippet template with auto-Undo (ctx.RegisterObjectCreation/Modification/DestroyObject), structured logs (ctx.Log/LogWarning/LogError), and a tracked changelog returned to the agent