Check the status and results of AI-driven playtests, and let the AI control Studio playtesting directly.

Overview
The Playtest page shows the status and results of playtests the AI has run. It is only accessible when the dashboard is in Studio connected state.
The system_info tool’s play/stop/pause/resume/play_status/run_test actions let the AI control playtesting directly.
Playtest Status
Shows the current playtest state:
| Status | Meaning |
|---|---|
| NotRunning | Playtest is not running |
| Running | Playtest is running |
| Paused | Playtest is paused (Run mode only) |
Test History
Lists test results from AI run_test action calls in chronological order:
| Field | Description |
|---|---|
| Timestamp | Test execution time |
| Test Report | Link to the test report |
| Mode | Execution mode (play/run) |
| Duration | Time the test took |
| Status | Result (Passed/Failed) |
Click a test report to view the detailed markdown report and logs.
Key Workflows
Manual Playtest Control
"Start the game in Play mode (F5)"
"Stop the current playtest"
play → confirm state with play_status → end with stop.
Automated Testing (run_test)
"Write and run a test to check whether SpawnLocation is in the correct position"
run_test injects a test script and automatically starts, collects, and cleans up the playtest.
CI-Style Validation
"Test in Run mode (F8) whether the NPC AI reaches its target, and show the logs if it fails"
Run run_test with mode: "run" to perform a server-side test.
Playtest State Machine
Edit ──play──→ Running ──stop──→ Edit
│ ↑
pause stop
│ │
↓ │
Paused ──resume──→ Running
| State | Available Actions |
|---|---|
edit | play |
running | stop, pause (Run mode only) |
paused | resume, stop |
- Play mode (F5): Client + server simulation. pause/resume not available.
- Run mode (F8): Server-only simulation. pause/resume available.
run_test Pipeline
run_test automatically orchestrates the following steps:
1. Preparation
- Fetch Place info (
place_info) - Clear the existing log buffer
2. Script Injection
- Create the wrapped test script in
ServerScriptService.__MCP_TestRunner - The wrapper automatically handles START/FINISHED signals and error tracebacks
3. Execution and Monitoring
- Start the playtest (Play or Run mode)
- Poll logs every 500ms
- Mark complete when the
[WEPPY_TEST]:FINISHEDsignal is received - Auto-terminate on timeout (default 60s, max 300s)
4. Cleanup
- Automatically stop the playtest
- Delete the injected test script
- Collect final logs
5. Report Generation
Reports and logs are saved locally under {projectRoot}/weppy-project-sync/place_XXXXX/tests/YYYYMMDD-HHmmss/.
{projectRoot}/weppy-project-sync/place_XXXXX/tests/YYYYMMDD-HHmmss/
├── test-report.md # Result summary (status, time, signals)
└── test-log.txt # Full logs (timestamp, sequence, level)
test-report.md example:
# Test Report
- Status: passed
- Test Name: spawn_location_test
- Mode: run
- Place ID: 123456
- Duration (ms): 1523
- Total Logs: 12
- Signal Count: 2
## Signals
- START: 2026-03-12T10:30:00.000Z
- FINISHED: 2026-03-12T10:30:01.523Z
Action Reference
| Action | Description | Parameters | Tier |
|---|---|---|---|
play | Start playtest in Play (F5) or Run (F8) mode | mode: “play” | “run” | Pro |
stop | Stop the current playtest | — | Pro |
pause | Pause the playtest in Run mode | — | Pro |
resume | Resume a paused Run mode playtest | — | Pro |
play_status | Get playtest state and available actions | — | Pro |
run_test | Inject test script → run → collect logs → generate report | script (required), test_name, mode, timeout | Pro |
run_test Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
script | string | ✅ | Luau test code to execute |
test_name | string | — | Test name shown in the report |
mode | ”play” | “run” | — | Playtest mode (default: “play”) |
timeout | number | — | Timeout in seconds (default: 60, max: 300) |
Use Cases
Analyzing Test Failures
"I want to find out why the automated test I just ran failed"
Find the Failed test in Test History and click the Test Report to view the detailed logs and failure cause.
Reviewing Test History
"I want to see the pass/fail status of all tests I ran today"
Check the timestamps and Status in Test History to track test result trends.