Skip to content
PLAYER-BEHAVIOR DEBUGGING · WAITLIST · v0.5.0

See exactly where players struggle.
Without watching the playthrough.

Drop in a playtest and Playloop tells you who got stuck, what confused them, where the build broke pacing, and which patch actually fixed it, in plain English. Built for indie studios who’d rather ship than scrub through a four-hour recording.

install in under 10 minutes · first insight in ~90 seconds · free during the beta
Intro video · coming soon
A short intro from the founder. Filming in progress.
made by a working indie studio · we use this on our own builds
playloop.gg / sessions / sess_RedFox42_s1
// SESSION INSIGHT · RedFox42 · 22m 17s · Tinker Lab build 0.4.2
STUCK on conveyor placement · 6m 03s
placed 14 conveyors in a row · never connected one to a machine · likely a tooltip miss on the "rotate to set input/output" hint
MISSED the alloy table entirely
reached tier-2 ore but skipped the alloy recipe, production capped at ~40% efficiency for the rest of the session
QUIT at 18m 52s, plateaued · did not return
last 4 minutes: waiting, no new placements, no menu opens
// PATTERN ACROSS BATCH:
9 of 17 testers stalled at the same conveyor-connection beat in session 1. The alloy-table miss is a 1-in-3 rate. Both feel like tooltip-tier fixes before the next build.
WAITLIST · v0.5.0

We’re shipping early. if you want your studio listed on this page when we replace this band with real ones.

Where we’re alone in the market

Things no competitor offers.

Plenty of tools do pieces of this. These seven are ours alone: the reasons indie studios pick Playloop over everything else.

Bring your own AI key

Other AI playtest tools lock you into their model spend. Already buying OpenAI or Anthropic credits? Route through your own key and the analysis runs free.

Three-layer AI summarization

Session → tester → build. Findings roll up through three narrative layers, not one flat summary. Skim the build report, drill to the session.

MCP server

Programmatic access straight from Claude, Cursor, and Codex through our MCP server. If you already live in an AI editor, your playtest data is one prompt away.

Discord ingest as a session source

Indies playtest in Discord. We treat that chatter as a first-class session source. Point us at a thread and it’s analyzed like any other session.

Per-game crash alerts

Crash signatures route per game to Slack or Discord, pinged on the first occurrence instead of buried in one workspace-wide feed. Each game’s alerts go where that game’s team is watching.

Godot + Unreal SDKs as first-class

Most tools skip Godot and treat Unreal as a second-tier port. We ship real SDKs for both. Godot autoloads with an Editor inspector, an Unreal UE 5.3+ C++ plugin with Blueprint nodes on every public method, full parity with Unity.

Playback → AI moment

Every insight names a moment; Session Playback makes it watchable. Replay tied straight to AI-named friction. Jump to the exact second a tester got stuck.

WHAT YOU GET BACK

Every tester. Every session. A report you'll actually read.

Each session lands as a narrative, typed insights with event timestamps, friction call-outs, and per-tester patterns rolled up across the batch. No spreadsheets. No funnel archaeology.

playloop.gg/r/8f3a2c
SESSIONSboss-fight-2ses_8f3a2c · 42mtutorial-flowses_7e1b · 28melevator-testses_4c9a · 18mact-2-introses_2d8f · 51mFILTERStype:frictionseverity:highSESSION REPORTboss-fight-2 · playtester-0442:13 runtime · 9 friction · 4 delight · 3 confusionTRANSCRIPT · 00:14:22“I can’t tell which attack is the parrywindow. Every move looks the same.”TRANSCRIPT · 00:27:51“Oh wait, holy shit. The meteor patternis sick. That’s a real moment.”TRANSCRIPT · 00:35:40“Wish I could rebind dodge to LB…right bumper is awkward for me.”TIMELINE00:0021:0642:13SENTIMENTINSIGHTS · 9FRICTION0.87Parry windowunreadable00:14:22FRICTION0.81Act 2 reads asinstant-death00:21:08DELIGHT0.74Meteor pattern“is sick”00:27:51REQUEST0.62Rebind dodge toLB on controller00:35:40CONFUSE0.69Save room vs.checkpoint unclear00:09:11EXPORT→ Linear (3 issues)→ Notion · Discord
THE LOOP, PATCH AFTER PATCH

Insights tell you what to fix. The next build tells you if it worked.

Playloop diffs each batch against the previous build automatically. You see exactly which friction points carried over, which got smaller, and which you accidentally introduced.

Tinker Lab · build 0.4.2 · before tooltip pass
Missed the alloy table
9 / 17
Stalled on conveyor placement
11 / 17
Median session length
19m 03s
Quit before tier-3 unlock
12 testers
Tinker Lab · build 0.4.3 · after tooltip pass
Missed the alloy table
1 / 18 testers
Stalled on conveyor placement
2 / 18 testers
Median session length
31m 41s
Quit before tier-3 unlock
4 testers
Two tooltip fixes between 0.4.2 and 0.4.3. The alloy-table miss dropped from 53% to 5.5%; median session length grew from 19m to 32m. Playloop surfaced the friction, you patched two strings, the next batch confirmed the fix landed.
HOW IT WORKS

Plug it in. Play. Read the report.

Three steps. Wire the SDK in once, run a real playtest, get a plain-English report on what your testers actually did. Drag in a screen recording instead if you don’t have an SDK runtime, same output.

01

Plug it in

One SDK file or one package for your engine, Unity, Unreal, Godot, Python, TypeScript. No screen recording, no video upload required. Or just drag in a screen capture if you don't have an SDK runtime yet.

02

Run a playtest

Your tester plays normally. The SDK quietly captures the events your game already fires, milestones, deaths, settings opens, anything you choose to Track(). They don't notice anything different.

03

Read the report

A short, plain-English write-up of what every tester did, where they stalled, what confused them, what the build broke. Skim the headline, click in for the timestamps. That's the loop.

WHAT YOU GET

Six ways to see your player’s pain.

The features below are the day-one experience. Integrations, webhooks, Player Feedback, and the rest live under More features further down, turn them on if you need them.

JOURNEY

Per-tester timeline

One tester's full arc, every session in order with their top friction, top praise, and an engagement trend (rising / flat / declining). See exactly where one tester fell off.

SENTIMENT

Severity-tagged friction

Every observation is typed (stuck-point, confusion, bug, pacing) and severity-scored from real session evidence. The hard stuff floats to the top, no scrubbing required.

HEATMAP

Where they got stuck

A heatmap of which rooms, scenes, or levels ate the most session time and had the most friction events. The places players struggled, at a glance.

BUILDS

Did the patch actually work?

Side-by-side play time, engagement rate, session count, and top friction events for any two builds. See whether v0.5.0 helped or quietly broke something.

FIXES

What to do about it

Beyond what's broken, ranked, concrete fix suggestions grounded in your testers' actual sessions. Pick a build (or a build-diff) and the AI proposes specific changes.

LADDER

From session to summary

Each session's findings roll up into per-tester reports, then per-build reports. You scan the build summary; the session detail's a click away when you want it.

More features
Integrations, Player Feedback, archetype clustering, webhooks

Optional, turn these on when you grow into them. Skip them otherwise.

ARCHETYPES

Tester archetypes

Cluster testers by behavior. Find the 'optimizers,' the 'completionists,' the 'breakers', and what each group struggles with.

PLAYER FEEDBACK

Multi-field forms inside the game

Define a form on the Feedback tab. Your game shows it whenever you want; answers stream back tagged to the session and the build. Free for every studio. Two server-side caps protect players from spam: one submission per (session, form), three per session max.

TRACKERS

One-click issue tracker

Send any friction insight to Linear, GitHub Issues, or Notion with one click. PAT auth, no agents, the issue lands with the quote, the build, and a deep link back.

WEBHOOKS

Push to your own systems

HMAC-signed POST when sessions finish analyzing. Wire it into your Discord channel, CI pipeline, or in-house tracker.

SLACK

Slack ingest

Add Playloop to a Slack channel and every signed message becomes a session transcript. Same AI analysis as Discord ingest.

COMPACT

Event compaction

A 4.7MB session transcript collapses to ~3KB of AI digest with the narrative arc intact. Token cost stays bounded even on hit builds.

FOR DEVS

A few lines of code. Every session analyzed.

One SDK call for Unity, Unreal, Godot, Python, or TypeScript. Or hit the REST API directly. No frameworks, no rebuild.

  • Unity
  • Unreal
  • Godot
  • Python
  • TypeScript
  • REST
import { Playloop } from '@playloop/sdk'

const client = new Playloop({ apiKey: process.env.PLAYLOOP_KEY })

const session = await client.ingest('./session.mp4')
const insights = await session.read({ depth: 'standard' })

console.log(insights.friction)  // 9 events found
PRICING

Free during beta. Paid tiers coming soon.

Free covers every analytics surface during the beta. Indie ($19/mo) and Studio ($49/mo) add managed AI, team collaboration, and longer retention. Sign up to be notified when they ship.

Free
$0forever

For everyone, never expires.

  • BYO OpenAI / Anthropic / Gemini key
  • Full AI summary ladder (session, tester, build)
  • Live dashboard, event timeline, replay
  • Player Feedback forms (in-game, multi-field)
  • Import up to 5,000 sessions / file (PlayFab, GameAnalytics, Amplitude, CSV)
  • Webhooks, MCP server, Management API, Slack + Discord ingest
  • Unlimited sessions, builds, testers
  • 1 GB storage, 90-day retention
See every free feature and its limit →
* No revenue share. Ever. Playloop doesn’t take a cut of your games.

Find the friction your testers won’t say out loud.

Install in under 10 minutes. First insight in ~90 seconds. Free for indies, no card.