121 lines
3.3 KiB
Markdown
121 lines
3.3 KiB
Markdown
---
|
|
name: profiler-capture-frame
|
|
description: Capture the current frame's timing info (delta time, FPS, frame counts, runtime). Snapshot only — historical frames live in Unity's Profiler window.
|
|
---
|
|
|
|
# Profiler / Capture Frame
|
|
|
|
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.
|
|
|
|
## Fields
|
|
|
|
- `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`.
|
|
|
|
## Behavior
|
|
|
|
Uses only built-in Unity APIs (`UnityEngine.Time`). No external Unity package is required.
|
|
|
|
## How to Call
|
|
|
|
```bash
|
|
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:
|
|
> ```bash
|
|
> unity-mcp-cli run-tool profiler-capture-frame --input-file args.json
|
|
> ```
|
|
>
|
|
> Or pipe via stdin (recommended):
|
|
> ```bash
|
|
> unity-mcp-cli run-tool profiler-capture-frame --input-file - <<'EOF'
|
|
> {"param": "value"}
|
|
> EOF
|
|
> ```
|
|
|
|
|
|
### Troubleshooting
|
|
|
|
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.
|
|
|
|
## Input
|
|
|
|
| Name | Type | Required | Description |
|
|
|------|------|----------|-------------|
|
|
| `nothing` | `string` | No | |
|
|
|
|
### Input JSON Schema
|
|
|
|
```json
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"nothing": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Output
|
|
|
|
### Output JSON Schema
|
|
|
|
```json
|
|
{
|
|
"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"
|
|
]
|
|
}
|
|
```
|
|
|