unity-profiler-mcp
Provides tools for analyzing saved Unity Profiler captures, including listing captures, summarizing CPU/GPU frame times, exporting marker statistics via the Unity Editor bridge, finding expensive main-thread markers, and comparing marker-level results across groups of captures.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@unity-profiler-mcpsummarize frame times for my latest capture and show top markers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
unity-profiler-mcp
MCP server for analyzing saved Unity Profiler captures. An AI client (Claude Code, etc.) can list captures, summarize frame times, find the most expensive main-thread markers, and compare groups of captures marker by marker (e.g. 3 runs of branch A vs 3 runs of branch B) — instead of reading Profiler screenshots by hand.
Two parts:
Part | Path | Role |
MCP server (Node, stdio) |
| Tools below; reads |
Unity bridge (UPM, Editor-only) |
| Local HTTP listener on |
.data captures can only be read by the Unity Editor, so marker statistics need the editor open. profiler_summary works without the editor (it reads the .highlights file the Profiler saves next to each capture).
Tools
Tool | Input | Result |
|
| captures with size, time, |
|
| estimated CPU/GPU frame time (p50/p95/p99/max, % over 16.7 / 33.3 ms) and main-thread frame time if exported |
|
| editor exports |
|
| most expensive markers; exports first if needed |
|
| per-marker group means, delta, run-to-run spread, |
capture is a file name inside the capture folder (with or without .data) or an absolute path. The capture folder defaults to UNITY_PROFILER_CAPTURES, then <project>/ProfilerCaptures of the open editor.
Marker export
Main thread only, samples merged by name, hierarchy depth ≤ 8, markers averaging under 0.005 ms dropped.
Per marker: frames present, total ms
avg/p50/p95/max,spikeAvg(average over the slowest 5% of frames),selfAvg,callsAvg,gcBytesAvg.Exporting loads the capture into the Profiler window (replacing what is shown) and blocks the editor while it runs; large captures take a while. Results are cached next to the capture.
.highlights
The frame-time series are decoded from the .highlights file the Profiler writes on save. The layout is undocumented; series 0/1 are assumed to be CPU/GPU frame time and are labelled cpuMsEstimated / gpuMsEstimated. Check them against the Profiler's Highlights module before relying on them.
Related MCP server: renderdoc-mcp
Install
1. Unity package
Add to Packages/manifest.json:
"com.shin0112.unity-profiler-mcp": "https://github.com/shin0112/unity-profiler-mcp.git?path=/unity-package"or, for a local clone:
"com.shin0112.unity-profiler-mcp": "file:C:/projects/unity-profiler-mcp/unity-package"Menu: Tools > Unity Profiler MCP > Status / Enable Bridge / Disable Bridge.
2. MCP server (Claude Code)
From GitHub:
claude mcp add unity-profiler -- npx -y github:shin0112/unity-profiler-mcpFrom a local clone:
cd C:/projects/unity-profiler-mcp && npm install
claude mcp add unity-profiler -- node C:/projects/unity-profiler-mcp/server/index.jsConfiguration
Setting | Where | Default |
Port | EditorPrefs |
|
Capture folder | env |
|
Export timeout | env |
|
Recording captures that compare well
Development Build, Deep Profile and allocation call stacks off.
Same scene, spawner, unit count and camera position for every run; record after the scene settles (e.g. 300+ frames).
Several runs per variant, so
profiler_comparecan separate real differences from run-to-run noise.Emulators and the Editor are fine for relative comparison only; confirm absolute numbers on a target device.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Read and score Opik traces, experiments, datasets and prompts from your AI assistant.
Analytics for MCP servers. Query your tool calls, first-call success, retries and schema cost.
Structured analysis API and remote MCP tool for text, JSON records and numeric series.
- AgentCatOAuthcom.agentcat
Analytics and debugging for your MCP server — explore usage and sessions, then root-cause errors.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze RenderDoc GPU frame captures for graphics debugging and performance analysis through a headless Python API. It provides a comprehensive suite of tools for inspecting pipeline states, shader bindings, and exporting frame resources like textures and meshes.180-
- FlicenseBqualityCmaintenanceMCP server for RenderDoc that enables AI assistants to analyze GPU frame captures (.rdc files) for graphics debugging and performance analysis, with 42 tools covering the full RenderDoc workflow.6-
- AlicenseBqualityCmaintenanceEnables AI clients to analyze RenderDoc captures by browsing draw/dispatch events, inspecting pipeline state and shaders, and paginating vertex/constant buffer data.131MIT
- AlicenseNot gradedqualityAmaintenanceEnables supported AI clients to connect to and automate the Unity Editor, covering scene and GameObject manipulation, asset and material operations, script creation and validation, testing, builds, screenshots, and editor-state inspection. It supports HTTP and stdio transports and ships client configuration helpers for Unity 2021.3+ on Windows, Linux, and macOS.MIT