Skip to main content
Glama

Run Playtest

run_playtest

Execute Playtest DSL scripts to automate Unity Play Mode testing, including move, wait, assert, snapshot, and invoke commands, returning a structured report.

Instructions

[Play Mode] Execute a playtest DSL script. Returns structured report (for NUnit tests, use run_tests). Commands: MOVE TO x,y,z | WAIT n | WAIT_UNTIL query op value | ASSERT query op value | ASSERT_CONSOLE_CLEAN [IGNORE "pat"] | SNAPSHOT queries | INVOKE path comp method args | SET path comp field value | LOG msg | TIMESCALE n | ASSERT_CONSERVED SUM a+b OVER t | ASSERT_CTA VISIBLE|CLICKABLE | VAL name query | TELEPORT path x,y,z | ASSERT_BATCH...END | ASSERT_NEAR pathA pathB dist | INVARIANT query op value | SIMULATE name [DURATION n] [TIMESCALE n] | MONITOR name | TRACE_FLOW FROM a TO b FIELD f | CAPTURE label query | ASSERT_CAPTURED label INCREASED|DECREASED. defs: inline VAL definitions prepended to script.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
defsNoInline VAL definitions prepended to script (alias block)
pathNoPath to .playtest DSL file on disk (mutually exclusive with script)
freshNoStop and restart Play Mode before running the script
scriptNoInline DSL script (mutually exclusive with path)
timeoutNoMax seconds to wait for the playtest to finish (default 120)
after_hookNoDSL commands to run after Play Mode exits
before_hookNoDSL commands to run before entering Play Mode
abort_on_failNoStop script execution on first ASSERT failure
snapshot_on_failureNoAuto-capture screenshot on first ASSERT failure
Behavior4/5

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

Annotations provide readOnlyHint=false, already signaling mutation. The description adds context by mentioning Play Mode, structured report, and listing DSL commands that imply state changes (SET, INVOKE, TELEPORT). It doesn't specify report contents or side effects, but adds value beyond the annotation.

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

Conciseness4/5

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

The description front-loads purpose and exclusions, then lists DSL commands in a compact, pipe-separated format. It's long but information-dense; the command list is essential for understanding script/defs parameters.

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

Completeness4/5

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

Given the tool's complexity (9 params, 20+ DSL commands, no output schema), the description covers the DSL thoroughly and defers parameter details to the schema. The main gap is the lack of detail about the structured report's format, but this is not critical for invocation.

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%, so baseline is 3. The description enriches the `script` and `defs` parameters by enumerating the DSL commands, giving the agent concrete syntax knowledge that the schema lacks.

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 opens with '[Play Mode] Execute a playtest DSL script', using a specific verb and resource. It clearly distinguishes from run_tests by stating 'for NUnit tests, use `run_tests`'.

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?

The description explicitly names an alternative for NUnit tests: 'for NUnit tests, use `run_tests`'. This provides a clear when-not and directs the agent to the correct sibling tool.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/german-krasnikov/unity-biome-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server