Reference catalog of game-QA test categories and the four platform-holder certification regimes a multi-platform title submits to before release. Defines the six canonical test categories (functional / compliance / compatibility / performance / localization / accessibility) plus the multiplayer and content-rating cross-axes; documents the submission workflow, severity vocabulary, test-bench configurations, and known SLAs for Microsoft Xbox Requirements (XR), Sony TRC (gated PlayStation DevNet), Nintendo Lotcheck (gated Nintendo Developer Portal), and Steam Direct review; and includes the building-a-cert-checklist workflow that maps a target platform's requirement items to the six categories. Cites public sources inline; cites gated NDA portals by stable ID per PLUGIN_AUTHORING.md Step 4 fallback. Use when planning a game test pass or cert calendar, mapping internal QA findings to the platform's vocabulary, sequencing submissions across platforms, or emitting a pre-submission checklist.
69
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
A multi-platform title that ships on console plus PC submits to four distinct certification regimes, each with its own requirements document, severity vocabulary, test-bench configuration, and SLA. This skill is the pure reference that maps those four regimes onto a common structure so QA leads can plan a cert calendar without re-learning each portal.
| Platform | Regime | Document name | Source |
|---|---|---|---|
| Xbox | Xbox Certification | Xbox Requirements (XR) | learn.microsoft.com (public) |
| PlayStation | Sony TRC | Technical Requirements Checklist | PlayStation DevNet (gated) |
| Nintendo | Lotcheck | Submission Guidelines | Nintendo Developer Portal (gated) |
| Steam | Steam Direct | App Review Process | partner.steamgames.com (public) |
NDA note. Sony TRC and Nintendo Lotcheck live behind gated portals; their
exact clause numbers, SLAs, severity vocabulary, and bench matrices are cited
by stable ID ("Sony TRC" / "Nintendo Lotcheck") per PLUGIN_AUTHORING.md
Step 4 fallback. Xbox and Steam requirements are public and cited inline.
The six canonical test categories (functional / compliance / compatibility / performance / localization / accessibility) that map across all four regimes are defined in "The six test categories" below.
A game build is tested against six canonical categories the industry has converged on over three console generations (sources: Microsoft's Certification step-by-step guide, Xbox Accessibility Guidelines (XAG) v3.2, Steam's App Review Process, and Schultz & Bryant, Game Testing All-In-One, 3rd ed., ISBN 9781305077133):
| # | Category | Scope | Typical owner |
|---|---|---|---|
| 1 | Functional | Mechanics, scripting, AI, UI flow, save/load, economy/progression match the design spec. | Engine-specific automation + manual QA |
| 2 | Compliance | Build conforms to platform holder's Requirements / TRC / Lotcheck document. | Cert / submission QA |
| 3 | Compatibility | Runs across all required SKUs, OS versions, hardware generations, and display/audio/storage configurations. | Lab / device-cloud QA |
| 4 | Performance | Hits declared frame-time, load-time, memory, thermal, and battery budgets on each target SKU. | Performance engineers + profilers |
| 5 | Localization | Translated strings fit their UI, render in their script, and behave under RTL + CJK + length expansion; VO coverage correct. | LQA agencies + automation |
| 6 | Accessibility | Meets platform-required or -recommended accessibility guidelines (Microsoft XAG, AbleGamers, CVAA/EAA where applicable). | Accessibility QA + design |
Category notes:
unity-test-framework,
unreal-automation-system, godot-gut-tests) plus recorded-input replay
(gameplay-recording-replay).Given a bug report: identify the symptom → map to a category (cheatsheet below) → assign the owner from the table → set severity in the platform holder's vocabulary (CFR / SRI / ION for Xbox; comparable NDA tiers for Sony / Nintendo - triage CFRs first) → record the XR / TRC / Lotcheck ID in the bug tracker so cert QA can verify the fix → confirm the category and requirement ID still resolve in the current requirements list before closing (a stale XR number is the common triage error).
| Symptom | Category | Severity hint |
|---|---|---|
| Crash on save load | Functional | High - cert-blocker |
| XR-024 fail (unhandled controller disconnect) | Compliance | CFR - cert-blocker |
| Black screen on PS4 base, fine on PS5 | Compatibility | High - gens-affecting |
| 22 fps in raid encounter (target 30) | Performance | Triage vs. budget |
| German "Zurück" overflows button | Localization | Sev 3 - UI |
| Subtitles missing in cutscene 7 | Accessibility | XAG fail |
| Host migration drops players | Multiplayer (functional + compliance) | High |
Multiplayer is not a seventh category - it cuts across functional +
compliance + compatibility + performance: state-machine correctness under
packet loss / latency / disconnect (see multiplayer-state-machine-coverage),
matchmaking + session lifecycle, anti-cheat compatibility with platform
integrity systems. Per Microsoft's
certification-guide,
"Multiplayer does not work as expected" is one of the most common reasons a
title is placed on Hold during an Xbox cert pass.
Content rating (ESRB / PEGI / CERO / USK / IARC) is a regulatory classification, not a testing category - but Steam requires the Content Survey before review, platform holders gate distribution on the local rating board's certificate, and localization may interact with rating (removing gambling minigames for the Belgian release).
Per-regime detail lives in one reference file each:
Time-sensitive version facts, isolated here so the body stays evergreen:
gdk-2510, gdk-2604, and gdk-2610 monikers.| Dimension | Xbox | Sony | Nintendo | Steam |
|---|---|---|---|---|
| Requirements doc | XR (versioned per GDK) | TRC (NDA) | Lotcheck (NDA) | App Review Process |
| Public visibility | Full | Gated | Gated | Full |
| Submission stages | 3 (val + BVT + XR) | Multi-step (NDA) | Multi-step (NDA) | 2 parallel (store + build) |
| Test-pass types | Optional + Final | (NDA) | (NDA) | One pass per submission |
| Severity vocab | CFR / SRI / ION | NDA (comparable) | NDA (comparable) | Pass / Fail (informal) |
| Console SLA (digital) | 5 BD | (NDA - practitioner-weeks) | (NDA - practitioner-weeks) | 3-5 BD (plan for 7) |
| Content-update SLA | 3 BD (1 BD bypass on PC) | (NDA) | (NDA) | Same as initial review |
| Bench matrix | 5 consoles × SKU / display / audio / power | PS4 / PS4 Pro / PS5 / PS5 Pro (NDA) | Switch / OLED / Lite / Switch 2 + handheld/docked (NDA) | Per-OS startup |
| Accessibility surface | XAG v3.2 (recommended; MGATS service available) | TRC clauses + Sony's accessibility guidance (NDA) | Lotcheck clauses (NDA) | Not gated |
| Achievements / Trophies surface | XR-055 / -057 / -058 / -060 / -062 | Trophies (NDA) | None native to Lotcheck | Steam Achievements (no cert gate) |
A pattern that surfaces issues earliest:
This is a heuristic, not a mandate - partners with strong in-house TRC expertise often reverse the Xbox / Sony ordering.
To turn a target platform into a ready-to-run pre-submission checklist,
follow this workflow (inputs: target platform - xbox / playstation /
nintendo / steam / all; optional milestone context, title-features
list, target hardware SKUs):
all, emit one section per platform in that order.# | Requirement | Description | Test Category | Pass Signal | N/A? -
the Test Category comes from the six-category taxonomy above; the Pass
Signal names the observable outcome that counts as a pass. Public
platforms get requirement IDs + inline URLs; gated platforms get bucket
names + the stable-ID cite - never reproduce NDA clause text verbatim.Refuse to emit a checklist item whose claim has no available source - surface
the gap instead of inventing text. Engine test scenario files are a different
job: the game-test-scenario-author agent authors those.
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Treating cert as a Q4 milestone | Late-found CFRs delay launch by weeks | Run XR / TRC checklists from milestone 1 |
| Treating "QA" as one undifferentiated bucket | Loses ownership; compliance gaps surface at cert | Use the six categories explicitly in test plans + bug-tracker fields |
| Compatibility on the dev kit only | Retail SKUs (Series S, PS4 base, Switch handheld) behave differently | Lab test on retail hardware per the bench layout in references/platform-cert-details.md |
| Performance averaged over the level | Spikes cause CFRs; averages hide them | Frame-time histograms, p99, sustained-window measurements |
| Localization screenshot review | Misses runtime overflow, missing VO, lip-sync drift | Playthrough every locale; not a glanced screenshot |
| Accessibility as a launch checklist | Architectural changes (rebindable input) can't be retrofitted | XAG scoping questions at design milestone, not at submission |
| Multiplayer tested only in low-latency LAN | Drops, NAT, host migration fail in the wild | Inject loss / jitter; see multiplayer-state-machine-coverage |
| Optional submission "to find out where we are" without prep | Burns paid slot to find bugs internal QA could have | Run internal XR pre-pass before any paid Optional |
| Submitting before partner-service stubs are ready | Held titles cost real calendar days per Microsoft's common hold reasons | Stand up CERT.DEBUG / CERT sandbox partner accounts before submission |
| Using XR-only language with Sony / Nintendo teams | Cross-platform vocabulary collapses; finger-pointing | Translate findings via the comparison table above |
| Treating Steam Direct review as "real cert" | Misses console requirements that wouldn't surface on Steam | Use the four regimes' actual requirements docs - Steam is not a proxy |
| Cross-network play without privilege checks | Xbox XR-045 / XR-007 fail - CFR | Use XPRIVILEGE_* constants per the XR-045 privilege table |
| Achievements that "drift" between updates | Xbox XR-060 fail - published achievements can't change unlock rules / rewards | Lock achievement design before launch; only modify name / description / icon post-launch |
| Local-storage writes > 1 GiB / 5 min | Xbox XR-133 fail | Rate-limit save / cache flushes |