Skills Plugins MCP Prompt Model 博客 我的中心
Lifestyle & Tools #automation #mcp #game

unity-mcp-orchestrator

Orchestrate Unity Editor via MCP (Model Context Protocol) tools and resources. Use when working with Unity projects through MCP for Unity - creating/modifying GameObjects, editing scripts, managing scenes, running tests, or any Unity Editor automation. Provides best practices, tool schemas, and workflow patterns for effective Unity-MCP integration.

DeepseekModel Curated skill Quality Excellent · 90 v1.0.0

Get

https://deepseekmodel.com/api/download.php?id=coplaydev-unity-mcp-claude-skills-unity-mcp-skill-skill-md&format=skill
Download .skill Standard format with system_prompt and model_config, ready for any agent framework
The actual content of the system_prompt field in the .skill file.
name unity-mcp-orchestrator description Orchestrate Unity Editor via MCP (Model Context Protocol) tools and resources. Use when working with Unity projects through MCP for Unity - creating/modifying GameObjects, editing scripts, managing scenes, running tests, or any Unity Editor automation. Provides best practices, tool schemas, and workflow patterns for effective Unity-MCP integration. Unity-MCP Operator Guide This skill helps you effectively use the Unity Editor with MCP tools and resources. Template Notice Examples in references/workflows.md and references/tools-reference.md are reusable templates. They may be inaccurate across Unity versions, package setups (UGUI/TMP/Input System), and project-specific conventions. Please check console, compilation errors, or use screenshot after implementation. Before applying a template: Validate targets/components first via resources and find_gameobjects . Treat names, enum values, and property payloads as placeholders to adapt. Quick Start: Resource-First Workflow Always read relevant resources before using tools. This prevents errors and provides the necessary context. 1. Check editor state → mcpforunity://editor/state 2. Understand the scene → mcpforunity://scene/gameobject-api 3. Find what you need → find_gameobjects or resources 4. Take action → tools (manage_gameobject, create_script, script_apply_edits, apply_text_edits, validate_script, delete_script, get_sha, etc.) 5. Verify results → read_console, manage_camera(action="screenshot"), resources Critical Best Practices 1. After Writing/Editing Scripts: Wait for Compilation and Check Console # After create_script or script_apply_edits: # Both tools already trigger AssetDatabase.ImportAsset + RequestScriptCompilation automatically. # No need to call refresh_unity — just wait for compilation to finish, then check console. # 1. Poll editor state until compilation completes # Read mcpforunity://editor/state → wait until is_compiling == false # 2. Check for compilation errors read_console(types=[ "error" ], count= 10 , include_stacktrace= True ) Why: Unity must compile scripts before they're usable. create_script and script_apply_edits already trigger import and compilation automatically — calling refresh_unity afterward is redundant. 2. Use batch_execute for Multiple Operations # 10-100x faster than sequential calls batch_execute( commands=[ { "tool" : "manage_gameobject" , "params" : { "action" : "create" , "name" : "Cube1" , "primitive_type" : "Cube" }}, { "tool" : "manage_gameobject" , "params" : { "action" : "create" , "name" : "Cube2" , "primitive_type" : "Cube" }}, { "tool" : "manage_gameobject" , "params" : { "action" : "create" , "name" : "Cube3" , "primitive_type" : "Cube" }} ], parallel= True # Hint only: Unity may still execute sequentially ) Max 25 commands per batch by default (configurable in Unity MCP Tools window, max 100). Use fail_fast=True for dependent operations. Tip: Also use batch_execute for discovery — batch multiple find_gameobjects calls instead of calling them one at a time: batch_execute(commands=[ { "tool" : "find_gameobjects" , "params" : { "search_term" : "Camera" , "search_method" : "by_component" }}, { "tool" : "find_gameobjects" , "params" : { "search_term" : "Player" , "search_method" : "by_tag" }}, { "tool" : "find_gameobjects" , "params" : { "search_term" : "GameManager" , "search_method" : "by_name" }} ]) 3. Use Screenshots to Verify Visual Results # Basic screenshot (saves to Assets/, returns file path only) manage_camera(action= "screenshot" ) # Inline screenshot (returns base64 PNG directly to the AI) manage_camera(action= "screenshot" , include_image= True ) # Use a specific camera and cap resolution for smaller payloads manage_camera(action= "screenshot" , camera= "MainCamera" , include_image= True , max_resolution= 512 ) # Batch surround: captures front/back/left/right/top/bird_eye around the scene manage_camera(action= "screenshot" , batch= "surround" , max_resolution= 256 ) # Batch surround centered on a specific object manage_camera(action= "screenshot" , batch= "surround" , view_target= "Player" , max_resolution= 256 ) # Positioned screenshot: place a temp camera and capture in one call manage_camera(action= "screenshot" , view_target= "Player" , view_position=[ 0 , 10 , - 10 ], max_resolution= 512 ) # Scene View screenshot: capture what the developer sees in the editor manage_camera(action= "screenshot" , capture_source= "scene_view" , include_image= True ) # Scene View framed on a specific object manage_camera(action= "screenshot" , capture_source= "scene_view" , view_target= "Canvas" , include_image= True ) Best practices for AI scene understanding: Use include_image=True when you need to see the scene, not just save a file. Use batch="surround" for a comprehensive overview (6 angles, one command). Use view_target / view_position to capture from a specific viewpoint without needing a scene camera. Use capture_source="scene_view" to see the editor viewport (gizmos, wireframes, grid). Keep max_resolution at 256–512 to balance quality vs. token cost. # Agentic camera loop: point, shoot, analyze manage_gameobject(action= "look_at" , target= "MainCamera" , look_at_target= "Player" ) manage_camera(action= "screenshot" , camera= "MainCamera" , include_image= True , max_resolution= 512 ) # → Analyze image, decide next action # Multi-view screenshot (6-angle contact sheet) manage_camera(action= "screenshot_multiview" , max_resolution= 480 ) # Scene View for editor-level inspection (shows gizmos, debug overlays, etc.) manage_camera(action= "screenshot" , capture_source= "scene_view" , view_target= "Player" , include_image= True ) 4. Check Console After Major Changes read_console( action= "get" , types=[ "error" , "warning" ], # Focus on problems count= 10 , format = "detailed" ) 5. Always Check editor_state Before Complex Operations # Read mcpforunity://editor/state to check: # - is_compiling: Wait if true # - is_domain_reload_pending: Wait if true # - ready_for_tools: Only proceed if true # - blocking_reasons: Why tools might fail Parameter Type Conventions These are common patterns, not strict guarantees. manage_components.set_property payload shapes can vary by component/property; if a template fails, inspect the component resource payload and adjust. Vectors (position, rotation, scale, color) # Both forms accepted: position=[ 1.0 , 2.0 , 3.0 ] # List position= "[1.0, 2.0, 3.0]" # JSON string Booleans # Both forms accepted: include_inactive= True # Boolean include_inactive= "true" # String Colors # Auto-detected format: color=[ 255 , 0 , 0 , 255 ] # 0-255 range color=[ 1.0 , 0.0 , 0.0 , 1.0 ] # 0.0-1.0 normalized (auto-converted) Paths # Assets-relative (default): path= "Assets/Scripts/MyScript.cs" # URI forms: uri= "mcpforunity://path/Assets/Scripts/MyScript.cs" uri= "file:///full/path/to/file.cs" Core Tool Categories Category Key Tools Use For Scene manage_scene , find_gameobjects Scene operations, finding objects. Multi-scene editing (additive load, close, set active, move GO between scenes), scene templates ( 3d_basic , 2d_basic , empty , default ), scene validation with auto_repair . For build settings, use manage_build(action="scenes") . Objects manage_gameobject , manage_components Creating/modifying GameObjects Scripts create_script , script_apply_edits , validate_script C# code management (auto-refreshes on create/edit) Assets manage_asset , manage_prefabs Asset operations. Prefab instantiation is done via manage_gameobject(action="create", prefab_path="...") , not manage_prefabs . Editor manage_editor , execute_menu_item , read_console Editor control, package deployment ( deploy_package / restore_package ), undo/redo ( undo / redo actions) Testing run_tests , get_test_job Unity Test Framework Batch batch_execute Parallel/bulk operations Camera manage_camera Camera management (Unity Camera + Cinemachine). Tier 1 (always available): create, target, lens, priority, list, screenshot. Tier 2 (requires com.unity.cinemachine ): brain, body/aim/noise pipeline, extensions, blending, force/release. 7 presets: follow, third_person, freelook, dolly, static, top_down, side_scroller. Resource: mcpforunity://scene/cameras . Use ping to check Cinemachine availability. See tools-reference.md . Graphics manage_graphics Rendering and post-processing management. 33 actions across 5 groups: Volume (create/configure volumes and effects, URP/HDRP), Bake (lightmaps, light probes, reflection probes, Edit mode only), Stats (draw calls, batches, memory), Pipeline (quality levels, pipeline settings), Features (URP renderer features: add, remove, toggle, reorder). Resources: mcpforunity://scene/volumes , mcpforunity://rendering/stats , mcpforunity://pipeline/renderer-features . Use ping to check pipeline status. See tools-reference.md . Packages manage_packages Install, remove, search, and manage Unity packages and scoped registries. Query actions: list installed, search registry, get info, ping, poll status. Mutating actions: add/remove packages, embed for editing, add/remove scoped registries, force resolve. Validates identifiers, warns on git URLs, checks dependents before removal ( force=true to override). See tools-reference.md . ProBuilder manage_probuilder 3D modeling, mesh editing, complex geometry. When com.unity.probuilder is installed, prefer ProBuilder shapes over primitive GameObjects for editable geometry, multi-material faces, or complex shapes. Supports 12 shape types, face/edge/vertex editing, smoothing, and per-face materials. See ProBuilder Guide . UI manage_ui , batch_execute with manage_gameobject + manage_components UI Toolkit : Use manage_ui to create UXML/USS files, attach UIDocument, inspect visual trees. uGUI (Canvas) : Use batch_execute for Canvas, Panel, Button, Text, Slider, Toggle, Input Field. Read mcpforunity://project/info first to detect uGUI/TMP/Input System/UI Toolkit availability. (see UI workflows ) Docs unity_reflect , unity_docs API verification and documentation lookup. unity_reflect inspects live C# APIs via reflection (requires Unity connection): search types across assemblies, get_type for member summary, get_member for full signatures. unity_docs fetches official docs from docs.unity3d.com (no Unity connection needed): get_doc (ScriptReference), get_manual (Manual pages), get_package_doc (package docs), lookup (parallel search all sources + project assets). Trust hierarchy: reflection > project assets > docs. Workflow: unity_reflect search -> get_type -> get_member -> unity_docs lookup. See tools-reference.md . Common Workflows Creating a New Script and Using It # 1. Create the script (automatically triggers import + compilation) create_script( path= "Assets/Scripts/PlayerController.cs" , contents= "using UnityEngine;\n\npublic class PlayerController : MonoBehaviour\n{\n void Update() { }\n}" ) # 2. Wait for compilation to finish # Read mcpforunity://editor/state → wait until is_compiling == false # 3. Check for compilation errors read_console(types=[ "error" ], count= 10 ) # 4. Only then attach to GameObject manage_gameobject(action= "modify" , target= "Player" , components_to_add=[ "PlayerController" ]) Finding and Modifying GameObjects # 1. Find by name/tag/component (returns IDs only) result = find_gameobjects(search_term= "Enemy" , search_method= "by_tag" , page_size= 50 ) # 2. Get full data via resource # mcpforunity://scene/gameobject/{instance_id} # 3. Modify using the ID manage_gameobject(action= "modify" , target=instance_id, position=[ 10 , 0 , 0 ]) Running and Monitoring Tests
Keywords that activate this skill. Click one to copy it.

This skill does not provide trigger words.

The downloaded .skill package contains the following fields.
Field Description
formatFormat tag (skill/v1)
skill_idUnique skill ID
nameSkill name
versionVersion
descriptionDescription
categoryCategories (array)
trigger_wordsTrigger words
tagsTags
sourceSource
source_urlSource URL (this page)
exported_atExported at (set per download)
system_promptSystem prompt body
model_configModel config: provider / model / temperature / max_tokens / top_p
examplesExamples
install_guideImport guide for Coze / Dify / Claude / custom frameworks
The same skill can be exported in different platform formats.
.skill Standard format with system_prompt and model_config, ready for any agent framework Download
.skillpro Enhanced format with scripts, tools, dependencies and hooks Download
.json Plain JSON export with system_prompt and model parameters only Download
Coze Markdown with frontmatter, for Coze platform import Download
Dify Dify DSL, import directly after creating an app Download

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

验证码 --

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。