# 5. Worked Example Classroom Playtest Loop
Part of [[Playtest Telemetry and Heatmaps]]. Previous: [[4. Editor Heatmap Window]]. Next: [[6. Telemetry Pitfalls and Privacy]].
> [!warning] Code not compiled
> The C# here is unchanged from parts 2 to 4. The PowerShell script below has not been run against a Quest; `adb` paths are the standard Android app-specific storage path and should be checked on your headsets.
## 5.1 The level
Use any short level with a clear route and at least one hazard. A good candidate: the spike / key / door / checkpoint course from [[5. Worked Example Spike Key Door Checkpoint]], blocked out with the landmark from [[5. Worked Example Landmark Blockout]]. Three checkpoints, one optional "finger" with a pickup reward.
Write the three playtest questions from part 1 on the board, for example:
1. Where do players die, and is it the hazard we intended?
2. Does anyone take the optional finger?
3. Where do players stop and look around?
## 5.2 Instrument (10 minutes)
1. Add **PlaytestTelemetry** to the bootstrap scene; set `buildLabel` to `A`.
2. Add **TelemetryPathSampler** and **TelemetryEventHooks** to the player (part 3). For a VR build, sampler `target` = Main Camera.
3. Wire death, the three checkpoints (`CP_01`..`CP_03`) and the finger pickup (`finger_reward`).
4. Play once in the Editor; open the Heatmap window and confirm your own run shows up.
## 5.3 Run the playtest (20 minutes)
- **Desktop builds:** each lab PC writes to its own `%userprofile%\AppData\LocalLow\<Company>\<Product>\Telemetry`. Ask each tester to copy that folder into a shared drive folder named after their **seat number**, not their name.
- **Quest builds (Unity 6.3 LTS):** sideload the same build to each headset ([[4.Quest 2 Testing and Deployment]]). Each headset writes to its own app storage.
Rules for the room, straight from good playtest practice (not from Rogers, whose book is light on method):
- Do not explain the level. Do not answer "where do I go?" Write the question down instead; it is data.
- One observer per tester takes paper notes with timestamps (the CSV `time` column lines up with a phone stopwatch started at launch).
- Five minutes per tester is enough for a gray-box.
## 5.4 Pull logs from every headset
Connect the headsets by USB (or use `adb connect` over Wi-Fi as in [[4.Quest 2 Testing and Deployment]]). This PowerShell script pulls each headset's `Telemetry` folder into a per-device subfolder. Set `$package` to your **Package Name** from Player Settings.
```powershell
# pull-telemetry.ps1 - pull PlaytestTelemetry CSVs from every connected Android/Quest device.
# Not run against a Quest yet. Requires adb on PATH (Android SDK Platform-Tools).
param(
[string]$Package = "com.yourschool.playtestlevel",
[string]$Destination = "C:\Playtests\$(Get-Date -Format 'yyyy-MM-dd_HHmm')"
)
New-Item -ItemType Directory -Force -Path $Destination | Out-Null
$lines = & adb devices
$serials = @()
foreach ($line in $lines) {
if ($line -match '^(\S+)\s+device