Skip to main content
Glama

wait_for_pie_completion

Read-onlyIdempotent

Blocks until a human stops Play-in-Editor or the timeout elapses, then reports completion status and elapsed seconds; useful for handing a piloted session to a person.

Instructions

Block until the human closes Play-in-Editor (or the timeout fires), pumping the game thread while it polls, and report elapsed_seconds + whether it completed or timed out. Use it to hand the session to a human for a piloted run and get control back when they hit Stop; use is_play_in_editor_active for an instant, non-blocking check. Returns immediately with started_in_pie:false when PIE was not running.

Returns: { started_in_pie, still_active, timed_out, elapsed_seconds, completed }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
timeout_secondsNoOptional float (default 30). Upper bound on the wait; 0 or less means wait indefinitely.
poll_interval_secondsNoOptional float (default 0.1). Seconds between IsInPlayInEditor probes; anything below 0.01 is floored to 0.01.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations say readOnly and idempotent, but the description adds critical behavior the annotations don't cover: it BLOCKS and pumps the game thread while polling, and returns immediately with started_in_pie:false when PIE wasn't running. That non-obvious immediate-return edge case is exactly what annotations can't convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core behavior (block until PIE closes or timeout), then the routing sentence, then the edge case, then the return shape. No waste, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description correctly supplies the return fields (started_in_pie, still_active, timed_out, elapsed_seconds, completed). Combined with the threading/polling disclosure and the immediate-return edge case, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema documents both params (defaults, 0-or-less = wait indefinitely, floor on poll interval). The description reinforces timeout behavior but doesn't go beyond the schema. A 4 reflects that the description is consistent and mentions the timeout firing, though the schema carries the detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (block) and resource (until human closes PIE or timeout), and explicitly names the sibling is_play_in_editor_active as the non-blocking alternative. An agent can distinguish it from other PIE-related tools without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it (hand session to a human for a piloted run, get control back on Stop) and names the alternative (is_play_in_editor_active) with the condition selecting it. This is a complete usage contract.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools