Capture the current frame's timing info (delta time, FPS, frame counts, runtime). Snapshot only — historical frames live in Unity's Profiler window.
69
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Reads UnityEngine.Time fields and returns them in a single struct. This tool is intentionally a single-frame snapshot — Unity's runtime API does not expose historical frame-data outside the Profiler window.
FrameTimeMs — Time.deltaTime * 1000f.Fps — 1 / Time.deltaTime (0 when delta is zero).TotalFrameCount — Time.frameCount (includes skipped renders).RealtimeSinceStartup — Time.realtimeSinceStartup.RenderedFrameCount — Time.renderedFrameCount.Uses only built-in Unity APIs (UnityEngine.Time). No external Unity package is required.
unity-mcp-cli run-tool profiler-capture-frame --input '{
"nothing": "string_value"
}'For complex input (multi-line strings, code), save the JSON to a file and use:
unity-mcp-cli run-tool profiler-capture-frame --input-file args.jsonOr pipe via stdin (recommended):
unity-mcp-cli run-tool profiler-capture-frame --input-file - <<'EOF' {"param": "value"} EOF
If unity-mcp-cli is not found, either install it globally (npm install -g unity-mcp-cli) or use npx unity-mcp-cli instead.
Read the /unity-initial-setup skill for detailed installation instructions.
| Name | Type | Required | Description |
|---|---|---|---|
nothing | string | No |
{
"type": "object",
"properties": {
"nothing": {
"type": "string"
}
}
}{
"type": "object",
"properties": {
"result": {
"$ref": "#/$defs/com.IvanMurzak.Unity.MCP.Editor.API.Tool_Profiler-FrameCaptureData",
"description": "Single-frame snapshot of timing information from UnityEngine.Time. No historical frame data; use the Profiler window for that."
}
},
"$defs": {
"com.IvanMurzak.Unity.MCP.Editor.API.Tool_Profiler-FrameCaptureData": {
"type": "object",
"properties": {
"FrameTimeMs": {
"type": "number",
"description": "Time.deltaTime in milliseconds at the moment of capture."
},
"Fps": {
"type": "number",
"description": "Frames per second derived from Time.deltaTime."
},
"TotalFrameCount": {
"type": "integer",
"description": "Total frame count since application start (Time.frameCount). May include skipped renders."
},
"RealtimeSinceStartup": {
"type": "number",
"description": "Time.realtimeSinceStartup, in seconds."
},
"RenderedFrameCount": {
"type": "integer",
"description": "Frames actually rendered (Time.renderedFrameCount)."
}
},
"required": [
"FrameTimeMs",
"Fps",
"TotalFrameCount",
"RealtimeSinceStartup",
"RenderedFrameCount"
],
"description": "Single-frame snapshot of timing information from UnityEngine.Time. No historical frame data; use the Profiler window for that."
}
},
"required": [
"result"
]
}eb063cf
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.