Skip to content
cccskills
FreePublished on GitHub

screenshot-camera

Capture a screenshot from a Unity `Camera` and return it as a PNG image for direct LLM inspection. Falls back to `Camera.main` (then any active camera) when `cameraRef` is null. Width and height are capped to keep response size manageable.

The English summary is being prepared. Showing the original description.

Works withUnity
See how to install

Files included (1)

  • SKILL.md3.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Screenshot / Camera

Captures a screenshot from a camera and returns it as an image. If no camera is specified, uses the Main Camera. Returns the image directly for visual inspection by the LLM.

Inputs

  • cameraRef (optional) — reference to a GameObject hosting a Camera. When null, Camera.main is used; if there is no main camera, the first entry of Camera.allCameras is used.
  • width (default 1920) / height (default 1080) — output pixels. Must be > 0 and ≤ MaxDimension.

Behavior

Allocates a temporary RenderTexture, swaps it onto the chosen camera, calls Camera.Render, reads back via Texture2D.ReadPixels, encodes as PNG, and restores the camera's prior targetTexture. Returns a ResponseCallTool.Image with image/png MIME and a descriptive caption.

How to Call

unity-mcp-cli run-tool screenshot-camera --input '{
  "cameraRef": "string_value",
  "width": 0,
  "height": 0
}'

For complex input (multi-line strings, code), save the JSON to a file and use:

unity-mcp-cli run-tool screenshot-camera --input-file args.json

Or pipe via stdin (recommended):

unity-mcp-cli run-tool screenshot-camera --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

NameTypeRequiredDescription
cameraRefanyNoReference to the camera GameObject. If not specified, uses the Main Camera.
widthintegerNoWidth of the screenshot in pixels.
heightintegerNoHeight of the screenshot in pixels.

Input JSON Schema

{
  "type": "object",
  "properties": {
    "cameraRef": {
      "$ref": "#/$defs/AIGD.GameObjectRef"
    },
    "width": {
      "type": "integer"
    },
    "height": {
      "type": "integer"
    }
  },
  "$defs": {
    "UnityEngine.EntityId": {
      "type": "string",
      "pattern": "^[0-9]+$"
    },
    "System.Type": {
      "type": "string"
    },
    "AIGD.GameObjectRef": {
      "type": "object",
      "properties": {
        "instanceID": {
          "$ref": "#/$defs/UnityEngine.EntityId",
          "description": "instanceID of the UnityEngine.Object. If it is '0' and 'path', 'name', 'assetPath' and 'assetGuid' is not provided, empty or null, then it will be used as 'null'. Priority: 1 (Recommended)"
        },
        "path": {
          "type": "string",
          "description": "Path of a GameObject in the hierarchy Sample 'character/hand/finger/particle'. Priority: 2."
        },
        "name": {
          "type": "string",
          "description": "Name of a GameObject in hierarchy. Priority: 3."
        },
        "assetType": {
          "$ref": "#/$defs/System.Type",
          "description": "Type of the asset."
        },
        "assetPath": {
          "type": "string",
          "description": "Path to the asset within the project. Starts with 'Assets/'"
        },
        "assetGuid": {
          "type": "string",
          "description": "Unique identifier for the asset."
        }
      },
      "required": [
        "instanceID"
      ],
      "description": "Find GameObject in opened Prefab or in the active Scene."
    }
  }
}

Output

This tool does not return structured output.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Build the unity-mcp-cli TypeScript CLI tool and link it globally for terminal use.

The English summary is being prepared. Showing the original description.

IvanMurzak/Unity-MCP4.5KUpdated Oct 19, 2026

Review and resolve PR comments from GitHub. Validates each comment, fixes legitimate issues.

The English summary is being prepared. Showing the original description.

IvanMurzak/Unity-MCP4.5KUpdated Oct 19, 2026

Install a Unity package from the registry, a Git URL, or a local path. Modifies `manifest.json` and triggers package resolution; may also trigger a domain reload — the final result is delivered after the reload via the request's `requestId`. Use 'package-search' / 'package-list' for discovery first.

The English summary is being prepared. Showing the original description.

IvanMurzak/Unity-MCP4.5KUpdated Oct 19, 2026

List all UPM packages installed in the Unity project — name, version, source, description. Optionally filter by source (registry, embedded, local, git, built-in, local tarball), by name/display/description substring, and by direct-dependency-only.

The English summary is being prepared. Showing the original description.

IvanMurzak/Unity-MCP4.5KUpdated Oct 19, 2026

Uninstall a UPM package from the Unity project. Modifies `manifest.json` and may trigger a domain reload — the final result is delivered after the reload via the request's `requestId`. Built-in packages and packages that are dependencies of others cannot be removed. Use 'package-list' to list installed packages first.

The English summary is being prepared. Showing the original description.

IvanMurzak/Unity-MCP4.5KUpdated Oct 19, 2026

Search Unity's package registry plus locally installed packages (Git, local, embedded sources) by query string. Returns available versions and installation status. Online mode fetches exact matches from the live registry then supplements with cached substring matches.

The English summary is being prepared. Showing the original description.

IvanMurzak/Unity-MCP4.5KUpdated Oct 19, 2026

See all skills by IvanMurzak

Report a problem with this skill