# Profiler Capture Frame

> Capture the current frame's timing info (delta time, FPS, frame counts, runtime). Snapshot only — historical frames live in Unity's Profiler window.

- Skill: `gabrielmoreira/profiler-capture-frame` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/profiler-capture-frame`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/profiler-capture-frame/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/gabrielmoreira/profiler-capture-frame

---


# 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"
  ]
}
```


