Skip to main content
Glama

Unity MCP Server

MCP server for Unity — Gives AI assistants structured access to your Unity project from any MCP-capable IDE or app. No Unity Editor required.

npm version MCP Registry

Your IDE talks to this server; the server reads your Unity project folder and answers with project info, build scenes, scripts, prefabs, and more — so the AI can help without opening the Editor.


Overview

  • Editor-free — Reads only from the project filesystem.

  • One server, many projects — Set UNITY_PROJECT_PATH per project in your MCP config.

  • MCP-native — Works with any client that supports the Model Context Protocol (tools over stdio).


Related MCP server: Unity MCP Server

Supported IDEs and clients

This server uses the standard MCP protocol over stdio and exposes tools. Any IDE or app that can run an MCP server and pass environment variables will work. Commonly used clients include:

Client

Notes

Cursor

Add server to MCP settings; set UNITY_PROJECT_PATH in env.

Claude Desktop

Add to claude_desktop_config.json; same command + env pattern.

Claude Code

MCP support including tools.

VS Code

Use an MCP extension (e.g. GenAI / Copilot MCP); configure server and UNITY_PROJECT_PATH.

Windsurf

Add MCP server with command and env.

Continue

Configure MCP server in Continue settings.

Cline

MCP tools and resources.

Other

Any client that supports MCP tools over stdio (e.g. Zed, Roo Code, LibreChat, custom agents).

Configuration is the same everywhere: command = node, args = path to dist/index.js, env = UNITY_PROJECT_PATH = your Unity project root. See Configuration below for a Cursor example; other clients use the same structure in their own config format.


Tools

Expand a category below to see the tools it includes.


Tool

Description

Example prompt to type

get_project_info

Path, Unity version, build scene count, player/product name

"What's my project path and Unity version?" · "Show build scene count and player name"

list_build_scenes

Scenes in EditorBuildSettings (build order)

"Which scenes are in the build?" · "List build scenes in order"

get_player_settings

Product name, company, bundle ID, version

"What are the player settings?" · "Show bundle ID and company name"

list_packages

Packages from manifest.json

"List installed Unity packages"

get_quality_settings

Quality levels

"What are the quality settings?"

get_scripting_defines

Global and per-assembly defines

"Show scripting defines" · "What defines are set per assembly?"

get_physics_settings

Physics / Physics2D settings

"What are the physics settings?"

get_graphics_settings

Graphics settings (GraphicsSettings.asset)

"Show graphics settings"

get_time_settings

Time / fixed timestep (TimeManager.asset)

"What's the fixed timestep?" · "Show time settings"

get_build_target_info

Active build target / platform

"What's the current build target?"

get_feature_set_inference

Infer Unity 6 feature sets from packages (2D, ECS, AR, etc.)

"What feature sets does this project use?"

get_project_version

Bundle version

"What's the bundle version?"

get_changelog

CHANGELOG contents

"Show the changelog"

get_audio_settings

AudioManager.asset (global volume, reverb, DSP buffer)

"What are the audio settings?"

get_navigation_settings

NavMesh/agent settings from ProjectSettings

"Show NavMesh / navigation settings"

get_xr_settings

XR/VR project settings

"What XR or VR settings are configured?"

get_script_execution_order

Script execution order (MonoManager)

"Show script execution order"

get_version_control_settings

Serialization mode, visible meta files

"What's the version control / serialization setup?"

get_layer_collision_matrix

Layer collision matrix and layer names

"Show layer collision matrix" · "What layers collide?"

get_cloud_services_config

Unity Cloud / Unity Connect config

"Is Unity Cloud configured?"

get_package_dependency_graph

Package dependency graph (manifest + lock)

"Show package dependency graph"

list_package_samples

Samples folders under Packages

"List package samples"

list_unity_hub_projects

List Unity projects from Unity Hub (no project path required)

"List my Unity Hub projects"

Tool

Description

Example prompt to type

list_assemblies

Assembly definitions with references, platforms

"List assembly definitions"

get_assembly_for_path

Assembly that contains a given script or folder path

"Which assembly contains Assets/Scripts/Player.cs?"

list_scripts_by_assembly

C# script paths in a given assembly (by name or asmdef path)

"List scripts in Assembly-CSharp" · "What scripts are in MyGame.Runtime?"

list_asmdef_references

Assembly names that reference a given assembly (reverse deps)

"Who depends on MyGame.Core?"

list_scripts

C# scripts (optional folder filter)

"List all C# scripts" · "Show scripts in Assets/Scripts"

find_scripts_by_content

By type/pattern (e.g. MonoBehaviour)

"Find scripts that extend MonoBehaviour"

get_assembly_dependency_graph

Nodes and edges

"Show assembly dependency graph"

list_editor_scripts

Scripts in Editor folders

"List editor scripts"

list_visual_scripting_assets

Bolt / Unity Visual Scripting .asset files

"List Visual Scripting assets"

get_script_public_api

Parse C# script: class name, base type, public methods/fields

"What's the public API of PlayerController.cs?"

Tool

Description

Example prompt to type

list_all_scenes

All .unity files under Assets

"List all scenes"

get_scene_summary

Root GameObjects, component count

"Summarize MainMenu.unity" · "What's in this scene?"

get_scene_components_by_type

GameObjects in a scene with a component type (e.g. Camera, Light)

"Which GameObjects have a Camera in Game.unity?"

get_scene_objects_by_tag

GameObjects in a scene with a given tag (e.g. Spawn)

"Find objects with tag Spawn in this scene"

get_all_components_by_type

All Cameras/Lights/etc. across all scenes

"List all Cameras in the project"

get_scene_hierarchy_flat

Flat list of GameObjects in a scene (name and layer)

"List all objects in Main.unity with their layers"

get_lighting_scene_info

Lighting assets and GI workflow mode for a scene

"What lighting does Main.unity use?"

list_prefabs

Prefabs (optional path prefix)

"List all prefabs" · "List prefabs in Assets/Prefabs"

list_prefab_variants

Prefabs that are variants of another prefab

"List prefab variants"

list_prefabs_with_component

Prefabs that contain a component type (e.g. Animator)

"Which prefabs have an Animator?"

get_prefab_summary

Prefab summary: root name, component count, component types

"Summarize Hero.prefab" · "What's in this prefab?"

get_prefab_script_guids

Script GUIDs used by a prefab

"What scripts does Hero.prefab use?"

list_subscenes

ECS/DOTS .subscene assets

"List subscenes"

Tool

Description

Example prompt to type

get_asset_folder_tree

Folder tree under Assets

"Show asset folder tree"

list_assets_by_extension

By extension (e.g. .png, .fbx)

"List all .png textures" · "List FBX models"

find_references

Assets referencing a path or GUID

"What references this asset?" · "Find what uses Assets/Textures/hero.png"

list_large_assets

Files over N MB (default 5)

"List large assets" · "What's over 10 MB?"

list_video_clips

Video clip assets (.mp4, .mov, .webm, etc.)

"List video clips"

list_legacy_font_assets

Legacy fonts (.fontsettings, .ttf, .otf) — not TMP

"List legacy fonts"

list_render_textures

RenderTexture assets

"List render textures"

list_terrain_data

TerrainData and TerrainLayer assets

"List terrain data"

list_lighting_settings_assets

Lighting-related .asset files

"List lighting settings assets"

search_assets_by_name

Search Assets (and optionally Packages) by name pattern

"Search assets named 'hero'"

get_texture_meta

Texture .meta (maxSize, dimensions, spriteMode, PPU)

"What's the import settings for hero.png?"

search_project

Combined search: name pattern, script pattern, and/or referrers of path

"Search project for X" · "What references this path?"

get_meta_for_asset

Read .meta for any asset path (guid, importer keys)

"Show .meta for Assets/Models/character.fbx"

get_broken_asset_refs

Prefabs/scenes/materials with any missing GUID reference

"Find broken asset references"

list_scriptable_objects

.asset files that are ScriptableObject instances

"List all ScriptableObject assets"

Tool

Description

Example prompt to type

list_materials

Materials (optional folder)

"List all materials" · "List materials in Assets/Materials"

list_materials_using_shader

Materials that use a given shader (GUID or path)

"Which materials use Standard shader?"

list_shaders

.shader in Assets and Packages

"List shaders"

list_shader_graphs

Shader Graph assets

"List Shader Graph assets"

list_vfx_graphs

VFX Graph assets

"List VFX Graph assets"

Tool

Description

Example prompt to type

list_animator_controllers

.controller assets

"List animator controllers"

list_animation_clips

.anim assets

"List animation clips"

get_animator_states

State names from a controller

"What states are in Player.controller?"

get_animator_transitions

State names and from/to transitions from a controller

"Show animator transitions in Player.controller"

list_timeline_playables

Timeline .playable assets

"List Timeline playables"

list_avatar_masks

Avatar Mask (.mask) assets

"List avatar masks"

list_animator_override_controllers

AnimatorOverrideController assets

"List animator override controllers"

Tool

Description

Example prompt to type

list_sprite_atlases

Sprite Atlas assets

"List sprite atlases"

list_tilemap_assets

Tilemap-related assets

"List tilemap assets"

list_sprite_assets

Textures configured as sprites (spriteMode in .meta)

"List sprite assets"

Tool

Description

Example prompt to type

list_render_pipelines

URP/HDRP pipeline assets, volume profiles

"List render pipelines" · "What URP/HDRP assets are there?"

Tool

Description

Example prompt to type

list_tmp_fonts

TMP/font assets

"List TextMeshPro fonts"

get_tmp_settings_path

TMP Settings asset path

"Where is TMP Settings?"

list_ui_documents

.uxml and .uss (UI Toolkit)

"List UI Toolkit documents" · "List UXML and USS files"

Tool

Description

Example prompt to type

get_input_axes

InputManager axes

"What's in the Input Manager?" · "Show input axes"

list_input_action_assets

New Input System .inputactions

"List Input System action assets"

get_input_actions_summary

Action maps and actions from a file

"Summarize Player.inputactions"

Tool

Description

Example prompt to type

get_tags_and_layers

Tags and layers from TagManager

"Show tags and layers"

Tool

Description

Example prompt to type

get_addressables_info

Groups and config path

"What Addressables groups are there?"

get_localization_tables

Localization table files

"List localization tables"

Tool

Description

Example prompt to type

list_audio_clips

.wav, .mp3, .ogg, .aiff

"List audio clips"

list_audio_mixers

Audio Mixer assets

"List audio mixers"

Tool

Description

Example prompt to type

list_test_assemblies

Test assembly definitions

"List test assemblies"

get_repo_docs

README, CONTRIBUTING, .cursorrules, etc.

"Show repo docs" · "What's in the README?"

read_agent_docs

.agents/AGENT.md, optional REPO_UNDERSTANDING.md

"Read agent docs" · "Show AGENT.md"

Tool

Description

Example prompt to type

list_ci_configs

.github/workflows, Jenkinsfile, unity-cloud-build

"List CI configs" · "Show GitHub workflows"

list_presets

.preset assets

"List presets"

get_git_lfs_tracked

LFS patterns from .gitattributes

"What does Git LFS track?"

get_plastic_config

Plastic SCM config

"Show Plastic SCM config"

Tool

Description

Example prompt to type

get_playfab_config

Title ID, config paths

"Is PlayFab configured?"

list_figma_related_assets

Figma folder / named assets

"List Figma-related assets"

get_firebase_config

GoogleServices path, project ID

"Show Firebase config"

get_steam_config

steam_appid.txt, Steamworks path

"Is Steam configured?"

get_discord_config

Discord SDK path

"Show Discord config"

get_fmod_config

Banks path, bank files

"Show FMOD config"

get_wwise_config

Sound banks, project paths

"Show Wwise config"

list_substance_assets

.sbsar, .sbs

"List Substance assets"

list_speedtree_assets

.spm, .stm

"List SpeedTree assets"

list_lottie_assets

Lottie JSON assets

"List Lottie assets"

get_analytics_or_crash_config

Sentry, Crashlytics, BugSnag, etc.

"What analytics or crash reporting is set up?"

get_ads_config

Unity Ads, AdMob, ironSource presence

"Is ads SDK configured?"

get_multiplayer_stack

Netcode / multiplayer packages and scripts

"What multiplayer stack does this use?"

get_ugs_cloud_stack

Unity Gaming Services / Cloud Code inventory

"Is UGS or Cloud Code set up?"

Tool

Description

Example prompt to type

list_build_profiles

Unity 6 Build Profile assets

"List build profiles"

get_physics_stack

Unity Physics / Physics Core 2D / classic physics

"Audit the physics stack"

get_optimization_package_inventory

Adaptive Performance + Project Auditor

"Is Adaptive Performance installed?"

get_accessibility_stack

Accessibility APIs and packages

"Any accessibility APIs in use?"

list_cinemachine_assets

Cinemachine cameras and related assets

"List Cinemachine assets"

get_platform_build_hints

Android/WebGL PlayerSettings snippets

"Show platform build hints"

get_render_pipeline_migration_hints

BIRP vs URP/HDRP migration risk

"Are we still on Built-in RP?"

get_localization_stack

Localization package + locale tables

"Audit localization setup"

Tool

Description

Example prompt to type

get_project_stats

One-shot stats: scripts, prefabs, scenes, materials, animations, assemblies, packages

"Give me project stats" · "How many prefabs and scenes?"

get_scene_referenced_assets

Asset paths referenced by a scene (build size / impact)

"What assets does Main.unity reference?"

detect_assembly_cycles

Circular refs in assembly definitions (fix compile errors)

"Detect assembly cycles" · "Any circular assembly refs?"

find_script_references

C# files that reference a type/class name (refactoring)

"Find references to PlayerController"

get_broken_script_refs

Prefabs/scenes with missing script refs

"Find prefabs with missing script"

get_prefab_dependencies

Asset paths referenced by a prefab (impact analysis)

"What does Hero.prefab depend on?"

get_release_readiness

One-shot: version, build scenes, packages, broken refs, cycles, large assets

"Is the project release ready?" · "Run release readiness check"

get_build_size_estimate

Build size estimate: total size and largest assets from build scenes

"What's the build size?" · "Show largest assets in the build"

Tool

Description

Example prompt to type

get_ai_stack_summary

One-shot AI audit: packages, models, scripts, ML-Agents YAMLs

"What AI does this project use?" · "Run an AI stack audit"

get_ai_ml_package_inventory

ML-Agents, Sentis, Barracuda, AI Navigation, Muse, Unity AI

"List AI/ML Unity packages"

list_ml_model_assets

.onnx, .nn, .pt, .tflite, .pb model files

"List ONNX models in the project"

find_ai_related_scripts

C# with Sentis, ML-Agents, NavMesh, behavior trees, LLM APIs

"Which scripts use ML-Agents or Sentis?"

list_ml_agents_training_configs

ML-Agents trainer YAML configs

"Find ML-Agents training configs"

list_ai_prompt_or_config_assets

Prompt/RAG-like JSON or MD under Assets

"Any LLM prompt assets in Assets?"

get_unity_ai_stack

Unity AI platform: Muse/Assistant/Inference/Building Blocks packages + settings

"Audit the Unity AI platform setup"

list_building_blocks

Unity 6.3 LTS Building Blocks packages + sample assets

"List Building Blocks in this project"

list_inference_models

On-device models: .onnx/.nn/.sentis/.bytes with model markers

"List on-device inference models"

get_llm_runtime_inventory

In-game LLM patterns: HTTP/SSE/WebSocket/key handling (no secrets read)

"Audit in-game LLM usage"

list_ai_skills

Bundled skills by Unity domain (39: scenes, multiplayer, build profiles, …)

"List Unity skills"

read_ai_skill

Read skill by id (e.g. unity-scenes-workflow, unity-multiplayer-netcode)

"Read the unity-ai-audit skill"

Tool

Description

Example prompt to type

list_test_result_files

Unity Test Runner XML results (NUnit/JUnit) in the project

"List test result files"

get_test_results_summary

Totals passed/failed/skipped with failing test names

"Summarize test results" · "Which tests are failing?"

get_editor_log_errors

Local Editor.log compile/runtime/test/build errors (machine-local)

"Show Editor log errors"

list_build_reports

Saved build reports (BuildReport JSON/text, build logs)

"List build reports"

get_build_report_summary

Size/errors/warnings from newest (or chosen) build report

"Summarize the latest build report"

Tool

Description

Example prompt to type

get_addressables_duplicates

GUIDs in multiple groups + optional profile path notes

"Find duplicate Addressables"

get_shader_variant_risk

Variant pragma counts, top shaders by material usage

"Audit shader variant risk"

get_input_conflicts

Duplicate Input System bindings in the same map

"Find input binding conflicts"

get_xr_origin_validation

XR rig/origin/interaction-manager markers per scene

"Validate XR setup"

scan_netcode_rpc

ServerRpc/ClientRpc/NetworkVariable markers + ownership hints

"Audit Netcode RPC usage"

get_navmesh_bake_state

Scenes with NavMesh markers, settings, agent scripts

"Check NavMesh bake state"

get_lod_occlusion_coverage

LODGroup/occlusion markers per scene

"Check LOD and occlusion coverage"

get_texture_import_heaviness

2048+ caps, Read/Write textures, missing mipmaps, Crunch

"Find heavy texture imports"

get_audio_loudness_risk

PCM vs Vorbis, streaming vs compressed, music candidates

"Audit audio compression"

get_timeline_balance

Playables vs bound directors + Signal coverage

"Check Timeline bindings"

get_unused_assets_estimate

Assets not referenced by build scenes (review only)

"Estimate unused assets"

Tool

Description

Example prompt to type

get_bridge_status

Bridge status — disabled unless UNITY_MCP_BRIDGE_URL/PORT points at 127.0.0.1

"Is the live bridge enabled?"

bridge_live_fetch

Fetch live Editor state (/hierarchy, /console, …) — refused when disabled

"Fetch live hierarchy"

Bridge is localhost-only and read-first. Default install stays Editor-free; set UNITY_MCP_BRIDGE_URL=http://127.0.0.1:8091 (or UNITY_MCP_BRIDGE_PORT) only when you run the companion Editor listener.

Tool

Description

Example prompt to type

search_tools

Find relevant tools by intent (e.g. find references, missing script). Omit query to list all tools by category.

"What Unity tools do you have?" · "Find tools for references" · "List all tools by category"

Using search_tools — Pass an optional query to filter tools by name, description, or category. Omit query to get the full catalog grouped by category.

Intent

Example query

Tools you get (conceptually)

Find what references an asset

find references

find_references, search_project, …

Fix missing script on prefabs

missing script

get_broken_script_refs, …

Work with textures

texture

get_texture_meta, list_assets_by_extension, …

List or inspect prefabs

prefab

list_prefabs, list_prefabs_with_component, get_prefab_dependencies, …

Scenes and build order

scene or build

list_all_scenes, list_build_scenes, get_scene_summary, …

C# scripts and APIs

script or assembly

list_scripts, get_script_public_api, find_scripts_by_content, …

Animation

animation or animator

list_animator_controllers, list_animation_clips, …

List everything (no filter)

(omit query)

All tools, grouped by category

All tools read from the project filesystem only.


Real-life examples

Copy-paste these into Claude, Cursor, or any MCP client (with this server configured and UNITY_PROJECT_PATH set). The AI will pick the right tools.

Role

Example prompt

Developer

"Which assembly contains Assets/Scripts/Player.cs?" · "List scripts in MyGame.Runtime" · "Who depends on MyGame.Core?" · "Are there assembly dependency cycles?" · "Run release readiness check"

Tester

"Which scenes are in the build?" · "List assemblies that have test in the name" · "Is the project release ready?" · "What's the build size and largest assets?"

Game developer

"Which prefabs have an Animator?" · "Summarize Hero.prefab" · "Show animator transitions in Player.controller" · "List input action assets"

Game designer

"Which materials use Standard shader?" · "List all ScriptableObject assets" · "Summarize Main.unity" · "What lighting does Main.unity use?" · "List all objects in Main.unity with their layers"


What to type in Claude / Cursor or any other MCP Client

In Claude, Cursor, or any MCP client, ask in natural language; the AI picks the right tool. Use the Example prompt to type column in each tools table above — those are the phrases to type in chat to get that result.


Prerequisites

  • Node.js 18+

  • UNITY_PROJECT_PATH — Absolute path to your Unity project root (set in your MCP client)


Installation

git clone https://github.com/rachitkumarrastogi/unity-mcp-server.git
cd unity-mcp-server
npm install
npm run build

The server uses stdio; your MCP client starts it automatically.


Configuration

Example for Cursor (same idea for Claude Desktop, VS Code + MCP, Windsurf, etc.):

{
  "mcpServers": {
    "unity": {
      "command": "node",
      "args": ["/absolute/path/to/unity-mcp-server/dist/index.js"],
      "env": {
        "UNITY_PROJECT_PATH": "/absolute/path/to/YourUnityProject"
      }
    }
  }
}

Replace the paths with your actual paths. For Claude Desktop, add an entry under mcpServers in claude_desktop_config.json with the same command, args, and env. For VS Code, use your MCP extension’s config to add the server and UNITY_PROJECT_PATH. Other clients follow the same pattern in their own config files.


Development

  • Run built: node dist/index.js

  • Run dev: npm run dev or npx tsx src/index.ts

  • Run tests: npm test (builds, then runs Node's built-in test runner over tests/)


Integration with Unity Editor

  • Current workflow: The AI runs inside your IDE (Cursor, VS Code with MCP, Claude Desktop, Windsurf, or another MCP-capable client). This server provides the AI with read-only access to your project (scenes, scripts, settings, and related assets). You run Unity Editor separately to open scenes, enter Play mode, and build. The AI uses the server to inspect the project and to suggest changes, answer questions, and assist with refactoring.

  • Future compatibility: This server implements the standard MCP protocol over stdio and requires a single environment variable (UNITY_PROJECT_PATH). If Unity Editor gains built-in MCP client support, you could connect it to this server using the same configuration: command node, arguments pointing to dist/index.js, and UNITY_PROJECT_PATH set in the environment. No changes to this codebase would be required.


Security

This repository does not include game code, assets, or secrets. The Unity project path is supplied at runtime by your MCP client. The server is suitable for public and private use.


Documentation

Available Tools

156 tools
bridge_live_fetchB

Fetch live Editor state via the opt-in localhost bridge (e.g. /hierarchy, /console, /screenshot). Refused when bridge disabled.

Inputs: path (required).

detect_assembly_cyclesB

Detect circular references in assembly definitions. Speeds up fixing compile errors.

Inputs: no named parameters.

find_referencesA

Find all assets (scenes, prefabs, materials, etc.) that reference the given asset. Pass asset path (e.g. Assets/Texture.png) or GUID.

Inputs: asset_path_or_guid (required).

find_script_referencesC

Find C# files that reference a type/class name. Speeds up refactoring.

Inputs: type_or_class_name (required).

find_scripts_by_contentB

Find C# scripts that contain a type or pattern (e.g. MonoBehaviour, ScriptableObject, or custom). Optionally filter by namespace.

Inputs: pattern (required), namespace_filter.

get_accessibility_stackC

Accessibility module/package presence and AccessibilityNode / AssistiveSupport script hits.

Inputs: no named parameters.

get_addressables_duplicatesB

Addressables duplicate check: asset GUIDs in multiple groups + optional profile path notes.

Inputs: include_profiles.

get_addressables_infoA

Get Addressables groups and config path if the project uses Addressables.

Inputs: no named parameters.

get_ads_configA

Detect ad SDK presence (Unity Ads, AdMob, ironSource).

Inputs: no named parameters.

get_ai_ml_package_inventoryB

List Unity AI/ML packages in manifest (ML-Agents, Sentis, Barracuda, AI Navigation, Muse, Unity AI).

Inputs: no named parameters.

get_ai_stack_summaryB

One-shot AI stack summary: packages, model files, script hits, ML-Agents configs. Set include_prompt_assets for prompt-like JSON/MD scan.

Inputs: include_prompt_assets.

get_all_components_by_typeA

Get all occurrences of a component type across all scenes (scene path + GameObject name).

Inputs: component_type (required).

get_analytics_or_crash_configA

Detect analytics/crash reporting services (Unity, Sentry, Crashlytics, BugSnag).

Inputs: no named parameters.

get_animator_statesB

Get state names from an Animator Controller (.controller) file.

Inputs: controller_path (required).

get_animator_transitionsB

Get state names and transitions (from/to) from an Animator Controller.

Inputs: controller_path (required).

get_assembly_dependency_graphB

Get assembly definition dependency graph (nodes and edges).

Inputs: no named parameters.

get_assembly_for_pathA

Get the assembly (asmdef name and path) that contains the given asset path (script or folder).

Inputs: asset_path (required).

get_asset_folder_treeA

Get a tree of Assets folder (directories and file names). Useful for understanding project layout.

Inputs: max_depth.

get_audio_loudness_riskC

Audio mix risk: PCM vs Vorbis balance, streaming vs compressed-in-memory, music-length candidates.

Inputs: no named parameters.

get_audio_settingsA

Get AudioManager.asset (global volume, reverb, DSP buffer).

Inputs: no named parameters.

get_bridge_statusA

Live Editor bridge status: enabled only when UNITY_MCP_BRIDGE_URL/PORT points at 127.0.0.1. Default disabled.

Inputs: no named parameters.

get_broken_asset_refsA

List prefabs, scenes, materials with any missing GUID reference (not only scripts).

Inputs: no named parameters.

get_broken_script_refsB

List prefabs/scenes that reference a script GUID with no .cs in project (missing script refs).

Inputs: no named parameters.

get_build_report_summaryA

Summarize a build report: size, scenes, errors/warnings. Defaults to newest report.

Inputs: top_n, report_path.

get_build_size_estimateA

Estimate build size: aggregate assets referenced by all build scenes, total size and largest assets.

Inputs: top_n.

get_build_target_infoB

Get active build target / platform from ProjectSettings.

Inputs: no named parameters.

get_changelogA

Read CHANGELOG.md or CHANGELOG if present.

Inputs: no named parameters.

get_cloud_services_configA

Get Unity Cloud / Unity Connect config if present.

Inputs: no named parameters.

get_discord_configA

Detect Discord SDK path in Plugins.

Inputs: no named parameters.

get_editor_log_errorsA

Tail the local Unity Editor.log for compile/runtime/test/build errors. Machine-local only, never uploads.

Inputs: max_lines, max_errors.

get_feature_set_inferenceB

Infer which Unity 6 feature sets (2D, ECS, AR, etc.) are used from package manifest.

Inputs: no named parameters.

get_firebase_configA

Get Firebase config (GoogleServices path, project ID). No secrets.

Inputs: no named parameters.

get_fmod_configB

Get FMOD config (banks path, bank files).

Inputs: no named parameters.

get_git_lfs_trackedB

Get Git LFS patterns from .gitattributes.

Inputs: no named parameters.

get_graphics_settingsB

Get Graphics settings (ProjectSettings/GraphicsSettings.asset).

Inputs: no named parameters.

get_input_actions_summaryB

Get action maps and actions from an .inputactions file.

Inputs: path (required).

get_input_axesA

Get input axes from InputManager (name, descriptive name, positive button).

Inputs: no named parameters.

get_input_conflictsA

New Input System conflict scan: duplicate bindings inside the same action map.

Inputs: no named parameters.

get_layer_collision_matrixB

Get layer collision matrix and layer names from TagManager/DynamicsManager.

Inputs: no named parameters.

get_lighting_scene_infoB

Get lighting-related info for a scene: referenced lighting assets and GI workflow mode if present.

Inputs: scene_path (required).

get_llm_runtime_inventoryB

In-game LLM patterns: HTTP calls, SSE/streaming, WebSockets, API-key handling, chat memory, retry. No secrets read.

Inputs: no named parameters.

get_localization_stackA

Localization package + Locale/StringTable assets (broader than get_localization_tables).

Inputs: no named parameters.

get_localization_tablesA

List localization table files under Assets/Localization if present.

Inputs: no named parameters.

get_lod_occlusion_coverageB

LOD/Occlusion coverage: scenes with LODGroup/occlusion markers for perf triage.

Inputs: no named parameters.

get_meta_for_assetA

Read .meta for any asset path (guid and key-value pairs).

Inputs: asset_path (required).

get_multiplayer_stackB

Detect Netcode / multiplayer packages and NetworkBehaviour-style scripts (NGO, Relay, Lobby, Mirror, Photon, …).

Inputs: no named parameters.

get_navigation_settingsB

Get NavMesh/agent settings from ProjectSettings if present.

Inputs: no named parameters.

get_navmesh_bake_stateC

NavMesh bake state: scenes with NavMesh markers, settings presence, agent script hits.

Inputs: no named parameters.

get_optimization_package_inventoryC

Adaptive Performance and Project Auditor packages, scaler assets, and script usage.

Inputs: no named parameters.

get_package_dependency_graphA

Get package dependency graph (nodes and edges from manifest + lock).

Inputs: no named parameters.

get_physics_settingsA

Get Physics/DynamicsManager or Physics2D settings (key-value).

Inputs: no named parameters.

get_physics_stackC

Physics packages (Unity Physics, Physics Core 2D), module hints, and Rigidbody/physics script hits.

Inputs: no named parameters.

get_plastic_configB

Get Plastic SCM config (.plastic, workspace name).

Inputs: no named parameters.

get_platform_build_hintsC

PlayerSettings snippets for Android/WebGL/etc., build target, and related packages (Unity 6 platform pass).

Inputs: no named parameters.

get_player_settingsB

Get Player/ProjectSettings (product name, company, bundle ID, version, etc.).

Inputs: no named parameters.

get_playfab_configA

Get PlayFab config (title ID, config paths) from project. No secrets.

Inputs: no named parameters.

get_prefab_dependenciesA

List asset paths referenced by a prefab. Helps impact analysis.

Inputs: prefab_path (required).

get_prefab_script_guidsB

Get script GUIDs (MonoBehaviour) referenced by a prefab.

Inputs: prefab_path (required).

get_prefab_summaryA

Get a short summary of a prefab: root name, component count, and component type names.

Inputs: prefab_path (required).

get_project_infoA

Get Unity project info: path, Unity version, build scene count, player/product name.

Inputs: no named parameters.

get_project_statsA

One-shot project stats: script count, prefabs, scenes, materials, animations, assemblies, packages.

Inputs: no named parameters.

get_project_versionB

Get project/bundle version from PlayerSettings.

Inputs: no named parameters.

get_quality_settingsA

Get QualitySettings (quality levels) from ProjectSettings.

Inputs: no named parameters.

get_release_readinessA

One-shot release readiness: version, build scene count, packages, broken refs, assembly cycles, large assets.

Inputs: no named parameters.

get_render_pipeline_migration_hintsB

Infer BIRP vs URP/HDRP and flag Built-in RP deprecation / migration risk (Unity 6.5+).

Inputs: no named parameters.

get_repo_docsA

Read README, CONTRIBUTING, .cursorrules, CODING_STANDARDS, STYLE if present at project root.

Inputs: no named parameters.

get_scene_components_by_typeA

Get GameObjects in a scene that have a given component type (e.g. Camera, Light).

Inputs: scene_path (required), component_type (required).

get_scene_hierarchy_flatA

Get a flat list of all GameObjects in a scene (name and layer).

Inputs: scene_path (required).

get_scene_objects_by_tagA

Get GameObjects in a scene that have a given tag (e.g. Spawn, Respawn).

Inputs: tag_name (required), scene_path (required).

get_scene_referenced_assetsB

List asset paths referenced by a scene (GUIDs resolved). Helps build size and impact.

Inputs: scene_path (required).

get_scene_summaryA

Get a short summary of a scene: root GameObject names and approximate component count.

Inputs: scene_path (required).

get_script_execution_orderA

Get script execution order (MonoManager: script GUID and order).

Inputs: no named parameters.

get_scripting_definesB

Get global and per-assembly scripting define symbols.

Inputs: no named parameters.

get_script_public_apiB

Parse a C# script and return class name, base type, public methods and fields (no Unity required).

Inputs: script_path (required).

get_shader_variant_riskB

Shader variant risk: multi_compile/shader_feature counts, top shaders by material usage, keyword stats.

Inputs: no named parameters.

get_steam_configB

Get Steam config (steam_appid.txt, Steamworks path).

Inputs: no named parameters.

get_tags_and_layersB

Get Tags and Layers from TagManager.

Inputs: no named parameters.

get_test_results_summaryB

Summarize Test Runner XML: totals passed/failed/skipped per file with failing test names.

Inputs: max_files.

get_texture_import_heavinessC

Texture import audit: 2048+ caps, Read/Write enabled, missing mipmaps, Crunch usage.

Inputs: top_n.

get_texture_metaA

Get texture .meta info (maxTextureSize, width/height, spriteMode, spritePixelsToUnits) for a texture path.

Inputs: texture_path (required).

get_timeline_balanceC

Timeline health: playable assets vs bound PlayableDirectors, Signal/Marker coverage.

Inputs: no named parameters.

get_time_settingsB

Get Time/Fixed timestep settings (TimeManager.asset).

Inputs: no named parameters.

get_tmp_settings_pathA

Get path to TMP Settings asset if present.

Inputs: no named parameters.

get_ugs_cloud_stackC

Unity Gaming Services / Cloud Code / Auth / Economy package and script inventory.

Inputs: no named parameters.

get_unity_ai_stackC

Unity AI platform audit: Muse/Assistant/Inference packages, AI-related ProjectSettings, hints.

Inputs: no named parameters.

get_unused_assets_estimateA

Unused-asset estimate: assets not referenced by build scenes (confirm via find_references; never auto-delete).

Inputs: top_n.

get_version_control_settingsA

Get Unity version control settings (serialization mode, visible meta files).

Inputs: no named parameters.

get_wwise_configB

Get Wwise config (sound banks, project paths).

Inputs: no named parameters.

get_xr_origin_validationB

XR scene validation: rig/origin/interaction-manager/teleport markers per scene.

Inputs: no named parameters.

get_xr_settingsB

Get XR/VR project settings (XRSettings.asset).

Inputs: no named parameters.

list_ai_prompt_or_config_assetsB

Heuristic scan for JSON/MD assets that look like prompts, RAG, or LLM config under Assets.

Inputs: no named parameters.

list_ai_skillsA

List bundled workflow skills by Unity domain (scenes, prefabs, assets, project, code, ai-ml, performance, …).

Inputs: no named parameters.

list_all_scenesA

List all .unity scene files under Assets (not only build-indexed).

Inputs: no named parameters.

list_animation_clipsB

List all Animation Clip (.anim) assets.

Inputs: no named parameters.

list_animator_controllersA

List all Animator Controller (.controller) assets.

Inputs: no named parameters.

list_animator_override_controllersB

List AnimatorOverrideController .controller assets.

Inputs: no named parameters.

list_asmdef_referencesA

List assembly names that reference the given assembly (reverse dependencies).

Inputs: assembly_name (required).

list_assembliesA

List assembly definitions (.asmdef) with path, name, references, platforms.

Inputs: no named parameters.

list_assets_by_extensionB

List assets by file extension (e.g. .png, .fbx, .mp3). Optionally under a folder.

Inputs: extension (required), folder.

list_audio_clipsA

List audio clip files (.wav, .mp3, .ogg, .aiff) under Assets.

Inputs: no named parameters.

list_audio_mixersB

List Audio Mixer (.mixer) assets.

Inputs: no named parameters.

list_avatar_masksA

List Avatar Mask (.mask) assets used by Animator.

Inputs: no named parameters.

list_building_blocksC

Unity 6.3 LTS Building Blocks: packages + sample assets with production-ready gameplay components.

Inputs: no named parameters.

list_build_profilesB

List Unity 6 Build Profile assets (plus whether classic EditorBuildSettings exists).

Inputs: no named parameters.

list_build_reportsB

List saved build reports (BuildReport JSON/text, build logs) in the project.

Inputs: no named parameters.

list_build_scenesA

List scenes in EditorBuildSettings (build order) as JSON.

Inputs: no named parameters.

list_ci_configsA

List CI config files (.github/workflows, Jenkinsfile, unity-cloud-build).

Inputs: no named parameters.

list_cinemachine_assetsC

Cinemachine package + virtual camera assets/prefabs under Assets.

Inputs: no named parameters.

list_editor_scriptsA

List C# scripts in Editor folders or with Editor in path.

Inputs: no named parameters.

list_inference_modelsC

On-device model assets: .onnx/.nn/.sentis/.pt/.tflite/.pb + .bytes with model markers.

Inputs: no named parameters.

list_input_action_assetsA

List New Input System .inputactions assets.

Inputs: no named parameters.

list_large_assetsA

List assets over a size threshold (default 5 MB).

Inputs: min_size_mb.

list_legacy_font_assetsA

List legacy font assets (.fontsettings, .ttf, .otf) — not TMP.

Inputs: no named parameters.

list_lighting_settings_assetsB

List lighting-related .asset files (LightingSettings, lightmap, etc.).

Inputs: no named parameters.

list_lottie_assetsB

List Lottie-related JSON assets.

Inputs: no named parameters.

list_materialsA

List .mat materials; optionally under a folder. Includes shader GUID when readable.

Inputs: folder.

list_materials_using_shaderA

List material paths that use a given shader (pass shader GUID or asset path).

Inputs: shader_guid_or_path (required).

list_ml_agents_training_configsA

Find ML-Agents trainer YAML configs in project root and common folders.

Inputs: no named parameters.

list_ml_model_assetsA

List ML model files under Assets (.onnx, .nn, .pt, .tflite, .pb).

Inputs: no named parameters.

list_packagesA

List Unity packages from Packages/manifest.json (and optional packages-lock.json).

Inputs: no named parameters.

list_package_samplesA

List Samples folders or sample paths under Packages.

Inputs: no named parameters.

list_prefabsA

List all .prefab files. Optionally filter by path prefix under Assets.

Inputs: path_prefix.

list_prefabs_with_componentA

List prefabs that contain a given component type (e.g. Animator, Rigidbody).

Inputs: component_type (required).

list_prefab_variantsC

List prefabs that are variants of another prefab.

Inputs: no named parameters.

list_presetsB

List .preset assets.

Inputs: no named parameters.

list_render_pipelinesB

List render pipeline assets and volume profiles (URP/HDRP).

Inputs: no named parameters.

list_render_texturesB

List RenderTexture (.renderTexture) assets.

Inputs: no named parameters.

list_scriptable_objectsA

List .asset files that are ScriptableObject instances (data assets).

Inputs: no named parameters.

list_scriptsA

List all C# scripts under Assets. Optionally filter by folder prefix (e.g. Scripts).

Inputs: folder.

list_scripts_by_assemblyA

List C# script paths that belong to a given assembly (by name or asmdef path).

Inputs: assembly_name_or_path (required).

list_shader_graphsA

List Shader Graph (.shadergraph) assets.

Inputs: no named parameters.

list_shadersA

List all .shader files in Assets and Packages.

Inputs: no named parameters.

list_speedtree_assetsA

List SpeedTree .spm and .stm assets.

Inputs: no named parameters.

list_sprite_assetsA

List textures configured as sprites (spriteMode in .meta).

Inputs: no named parameters.

list_sprite_atlasesA

List Sprite Atlas (.spriteatlas) assets.

Inputs: no named parameters.

list_subscenesB

List ECS/DOTS .subscene assets.

Inputs: no named parameters.

list_substance_assetsB

List Substance .sbsar and .sbs assets.

Inputs: no named parameters.

list_terrain_dataA

List TerrainData and TerrainLayer .asset files.

Inputs: no named parameters.

list_test_assembliesA

List assembly definitions that look like test assemblies (path contains test/editor).

Inputs: no named parameters.

list_test_result_filesA

Find Unity Test Runner XML results (NUnit/JUnit) in the project. No Editor required.

Inputs: no named parameters.

list_tilemap_assetsB

List tilemap-related .asset files.

Inputs: no named parameters.

list_timeline_playablesC

List Timeline .playable assets.

Inputs: no named parameters.

list_tmp_fontsA

List TMP/font-related assets.

Inputs: no named parameters.

list_ui_documentsC

List UI Toolkit .uxml and .uss files.

Inputs: no named parameters.

list_unity_hub_projectsA

List Unity Hub projects (basenames only by default; set UNITY_MCP_ALLOW_HUB_PATHS=1 for full paths). Does not require UNITY_PROJECT_PATH.

Inputs: no named parameters.

list_vfx_graphsA

List VFX Graph (.vfx) assets.

Inputs: no named parameters.

list_video_clipsB

List video clip assets (.mp4, .mov, .webm, .avi, .asf).

Inputs: no named parameters.

list_visual_scripting_assetsB

List Visual Scripting (Bolt/Unity) .asset files in Ludiq or com.unity.visualscripting.

Inputs: no named parameters.

read_agent_docsA

Read .agents/AGENT.md and optionally REPO_UNDERSTANDING.md.

Inputs: include_repo_understanding.

read_ai_skillA

Read a bundled skill by id from list_ai_skills (e.g. unity-scenes-workflow, unity-runtime-performance).

Inputs: skill_id (required).

scan_netcode_rpcB

Netcode RPC scan: ServerRpc/ClientRpc/NetworkVariable markers, unreliable delivery, ownership hints.

Inputs: max_files.

search_assets_by_nameA

Search Assets (and optionally Packages) by file or folder name pattern (e.g. Player, Menu).

Inputs: name_pattern (required), include_packages.

search_projectA

Combined search: by asset name pattern, script content pattern, and/or referrers of an asset path. Returns assets, scripts, and optionally referrers.

Inputs: name_pattern, script_pattern, include_packages, referrer_of_path.

search_toolsA

Find the most relevant tools by intent. Pass a query (e.g. find references, missing script, texture) to get matching tools with descriptions. Omit query to list all tools by category.

Inputs: query.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.8/5.0

    Scored across 156 tools

    Disambiguation2/5

    With 156 tools there is heavy overlap: get_ai_ml_package_inventory / get_ai_stack_summary / get_unity_ai_stack all report AI package stacks, list_ml_model_assets / list_inference_models / list_ml_agents_training_configs all scan model files, and get_localization_stack vs get_localization_tables are near-duplicates. Dozens of narrow list_* asset enumerators (list_assets_by_extension, list_scriptable_objects, list_sprite_assets, list_tmp_fonts) blur into one another, so an agent must guess which one to pick.

    Naming Consistency4/5

    Nearly everything follows a predictable snake_case verb_noun pattern (list_*, get_*, find_*, search_*, scan_*, detect_*), which is readable and largely consistent. Minor deviations like bridge_live_fetch (noun_verb) and overlapping verb choices (get_package_dependency_graph vs get_assembly_dependency_graph vs detect_assembly_cycles) prevent a perfect score.

    Tool Count1/5

    156 tools is roughly ten times a well-scoped surface and far beyond what an agent can reliably select from. Many tools are extremely narrow single-purpose audits (get_audio_loudness_risk, get_timeline_balance, list_lottie_assets) that would be better folded into a few parameterized tools.

    Completeness3/5

    Coverage of read-only project inspection is genuinely exhaustive—settings, assets, packages, build, testing, and third-party SDK detection are all present. However the surface is entirely read/analysis: there is no create, update, or delete operation for any resource, and no Editor mutation or build-execution path, leaving a notable gap for an MCP server meant to act on a Unity project.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      F
      maintenance
      Enables AI agents to interact with Unity projects through multimodal vision, code analysis, asset management, and scene manipulation. Supports real-time Unity editor control, project search, script creation, and visual debugging through screenshots.
      32
      MIT
    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      Exposes Unity Editor project context and manipulation tools to AI coding agents, enabling automated scene hierarchy analysis, script inspection, and asset management. It supports both read and write operations including GameObject editing, component configuration, and animation authoring within the Unity environment.
      2
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants like Claude to interact with Unity projects programmatically, supporting project management, asset creation, and build automation.
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to search and analyze Unity project assets, including references and dependencies, via the Model Context Protocol.
      -