Process & Workflow May 20, 2026

Steam Content Descriptors and Demo Hour-One Parity - Next Fest 2026 Checklist for Micro-Studios

2026 Next Fest checklist for Steam content descriptors vs fest demo hour-one—descriptor proof tables, policy parity, and partner-safe governance for micro-studios.

By GamineAI Team

Steam Content Descriptors and Demo Hour-One Parity - Next Fest 2026 Checklist for Micro-Studios

Pixel-art hero for Steam content descriptors and demo hour-one parity checklist — Next Fest 2026 micro-studios

Your store page says Strong Language and Online Interactions. Your fest demo has neither voice chat nor profanity in hour one. Parents and partners do not debate whether you "intend" full-game features—they read descriptor rows as promises about what installs today. Under intake compression, descriptor mismatches sit beside store-demo mismatch screenshots faster than performance lies.

This Process & Workflow checklist maps every Steam content descriptor and feature flag you enable to Next Fest demo hour-one proof. It extends the short About bullet descriptor note into a full audit. Pair with FAQ line parity for player-facing Q&A. Anchor policy fields to Steamworks mature content documentation. No invented studios or metrics.

Time to read: ~35 minutes. Time to run first descriptor audit: ~2 hours with cold install and capture notes.

Why this matters now (May–October 2026)

  1. Descriptors are pre-install trust — Players filter by mature content before download size.
  2. Fest demos skew young traffic — Next Fest browsing spikes family accounts; over-labeling and under-labeling both hurt.
  3. Full-game flags on demo SKUs — Teams copy main-game descriptor sets onto fest builds without hour-one verification.
  4. About and FAQ cite themesMetadata sprint fails if descriptors contradict bullets.
  5. May is the correction window — October locks policy rows; hotfixes under fest traffic draw partner attention.

Direct answer: Export live descriptor configuration, build descriptor-proof.md (one row per enabled flag), mark pass/fail against cold-install hour one on current build_id, remove or relabel failures, and diff weekly with Wednesday store ritual.

Who this is for

Audience Outcome
Producer Policy rows match live demo
Engineer Sign hour-one captures per flag
Writer About/FAQ themes align with descriptors
Solo dev Smaller table—still required

Prerequisites

Prerequisite Why
Fest demo build_id in BUILD_RECEIPT Anchors proof
Cold install on floor hardware Hour-one surface
Screenshot or short clip capture ability Evidence for partners
release-evidence/03-store/descriptors/ folder One audit home
About + FAQ drafts in git Triangle diff

Descriptor proof table (core artifact)

release-evidence/03-store/descriptors/descriptor-proof.md:

Descriptor / feature flag Enabled on store Hour-one observation Pass/Fail Action
Strong Language Yes No voiced dialogue in demo Fail Disable until VO ships
Online Interactions Yes Solo only, no chat UI Fail Disable for fest demo
Frequent Violence Yes Combat in hour one Pass Keep
Sexual Content No N/A Pass Keep off
Uses AI-generated content Yes Disclosure row matches runtime Pass Link AI disclosure

Pass rule: If flag is enabled, engineer observes the described behavior in fest demo hour one without debug cheats—or captures explicit "not in demo" labeling on store copy that matches disabled state.

Fail rule: Disable flag for fest period, or narrow demo content, or rewrite About/FAQ to stop claiming the theme—never leave enabled flag with absent behavior.

Descriptor categories to audit (complete pass)

Mature content descriptors

Violence intensity, language, sexual content, nudity, drugs. Each enabled row needs combat/dialogue capture notes or timestamp in captures/.

Feature / interaction flags

Online interactions, user-generated content, in-app purchases (if applicable to demo), competitive multiplayer. Cross-check tag coherenceOnline Co-Op tag with disabled online interaction flag is a triangle fail.

Accessibility and safety

Photosensitive seizure warning, mature themes listed in About. If About mentions photosensitivity, demo must show warning screen in hour one or About must say warning ships in full game only (FULL GAME labeled).

AI and generative claims

Steam Play/App Store AI disclosure checklist plus descriptor row Uses AI-generated content must match runtime. Prompt registry freeze if gameplay AI changed same month.

Triangle diff (descriptor leg)

Vertex Descriptor check
About bullets No mature theme bullet without matching enabled flag
FAQ rows No "online community" FAQ if online interactions disabled
Tags No social tags without interaction flags
Trailer No mature beat without descriptor or cut frame

Add descriptor column to metadata sprint Day 7 integration.

Ninety-minute first audit

Step Minutes Output
Export descriptor config screenshot 10 PNG dated
List enabled flags in proof table 15 Skeleton
Cold install + hour-one play 35 Capture notes
Engineer pass/fail 15 Complete table
Writer sync About/FAQ 10 Git diff
Producer sign-off 5 signoff.txt

BUILD_RECEIPT extension

"content_descriptors_locked": false,
"descriptor_proof_path": "release-evidence/03-store/descriptors/descriptor-proof.md",
"descriptor_last_audit_utc": "2026-05-20T16:00:00Z"

Lock only when table green and captures archived.

High-risk mismatch patterns

Pattern Risk
Full-game descriptor set on demo Parents see violence not in zip
Disabled flag but About says "mature narrative" Policy question
Online interactions for solo demo Refund + partner flag
Missing photosensitivity warning in demo Accessibility liability
AI flag off but FAQ claims generative voices AI review fail

Pairing with store metadata cluster

Checklist Link
Short description No mature adjectives without flags
Trailer audit Mature frames need descriptors
Event posts Event art tone matches flags
Branch naming Demo branch promotes audited build

Wednesday ritual row

Add Descriptors to Wednesday diff: screenshot Steamworks descriptor page vs git descriptors-approved.json (or your export file)—five minutes after FAQ export.

Publisher diligence

Content descriptor audit <date> — all enabled flags verified in fest demo hour one; captures in release-evidence/03-store/descriptors/captures/; build_id <id>.

Supports publisher diligence packets.

Red-team questions

  1. "Why does the store warn about online interactions when I cannot chat?"
  2. "Is the violence in the trailer in the demo?"
  3. "You claim AI content—where is the disclosure?"
  4. "Photosensitive—where is the warning screen?"
  5. "Descriptor says drugs—where in hour one?"

Common mistakes (ten)

  1. Copying main-game descriptors at demo launch.
  2. Treating descriptors as legal-only—not player-facing.
  3. No engineer sign-off.
  4. About theme bullets without flags.
  5. Enabling flags "for full game later."
  6. Skipping captures.
  7. Ignoring trailer mature frames.
  8. No Wednesday diff for policy rows.
  9. October enable without re-audit.
  10. AI disclosure drift after descriptor lock.

Worked example (anonymous)

Before: Online Interactions + Strong Language enabled; demo solo with text-only UI.
Audit: Both rows fail hour one.
Fix: Disabled flags; About bullet rewritten; FAQ row 3 updated; trailer cut for language sting.
Result: Mock audit dimension 7 green; ads unpaused.

Engineer ~2h; writer ~2h; producer ~30m.

Post-fest maintenance

Wednesday descriptor screenshot; Friday Block 5 row; re-audit after any content patch that adds combat, dialogue, or social UI.

Evidence folder layout

release-evidence/03-store/descriptors/
  README.md
  descriptor-proof.md
  descriptors-approved.json
  steamworks-descriptors-YYYY-MM-DD.png
  captures/
    hour-one-violence-clip-notes.md
    hour-one-dialogue-notes.md
    photosensitivity-screen.png
  engineer-signoff.txt
  producer-signoff.txt

Store under release-evidence taxonomy beside FAQ and About exports so partners open one folder.

Sample proof rows (copy structure)

Row — Online Interactions:

Field Value
Flag Online Interactions (User Generated Content)
Enabled Yes
Hour-one observation No chat UI, no lobby, solo progression only
Pass/Fail Fail
Action Disable flag before fest; add FAQ row "DEMO: no online features"

Row — Frequent Violence:

Field Value
Flag Frequent Violence
Enabled Yes
Hour-one observation Combat encounters with blood VFX in first 20 minutes
Pass/Fail Pass
Action Keep; ensure trailer frames with higher gore also flagged

Row — Uses AI-generated content:

Field Value
Flag Uses AI-generated content
Enabled Yes
Hour-one observation Procedural voice lines labeled in credits; disclosure bullet on store
Pass/Fail Pass
Action Attach AI disclosure challenge annex

Under-labeling vs over-labeling

Mistake Player impact Partner impact
Over-label Scares away wishlists Looks careless, not malicious
Under-label Refunds, family anger Fast policy questions
Drift after patch Surprise mature content Yellow on mismatch

Fest demos should neither scare with full-game flags nor hide combat you ship in hour one. Target tight alignment, not maximum or minimum checkbox count.

Engine and content pipeline notes

Engine Descriptor risk
Unity Addressables load mature scenes not in demo path but flags copied from main
Godot Export includes unused social scenes in project metadata reviews
Shared VO banks from main game referenced in demo by mistake

Run demo build identity pass the same week—wrong depot can ship main-game assets while descriptors still describe full game.

Trailer and screenshot coupling

Mature frames in trailer audit must map to enabled descriptors. If trailer shows drug use but flag off, either enable with demo proof or cut frame. Screenshot safe zones gate five beat sheet should not show gore-heavy stills when violence descriptor disabled.

Specs and support macros

Spec honesty FAQ sometimes mentions parental controls—ensure macros do not promise account-level filters your demo does not implement. Link crash-log challenge tickets with build_id when players report "unexpected mature content."

validate-packet optional guards

Extend validate-packet:

  • descriptor-proof.md exists
  • Zero Fail rows (case-sensitive)
  • descriptors-approved.json matches exported screenshot hash
  • If Online Interactions enabled in JSON, proof table must show pass row

Exit non-zero before partner ZIP upload.

Team RACI

Task Producer Engineer Writer
Export descriptor config R C I
Hour-one captures C R I
Proof table C R C
About/FAQ sync A I R
Promotion lock A C I

R = responsible, A = approves, C = consulted, I = informed.

Comparison to reactive recovery

Mode Cost
This checklist ~2 hours seasonal
Store-demo mismatch 48h Weekend
Policy escalation Unbounded

Descriptor lies often appear in refund text verbatim—fix before ads per fest marketing cap.

Mock audit dimension 7 hook

Tabletop seven dimensions should open descriptor-proof.md and ask: "Show me hour-one evidence for the most severe enabled flag." Fail tabletop if captures missing.

Two-storefront and itch HTML5

Two-storefront rule requires separate descriptor review for browser demos—itch pages rarely expose Steam descriptor UI but may show unfiltered GIFs. Align itch embed maturity with Steam flags or label itch as developer preview not fest demo.

Regional and platform annex

Console and mobile SKUs may use different rating boards. Steam descriptor audit does not replace ESRB/PEGI submissions—add annex rows in descriptor-proof.md referencing external ratings IDs when partners ask cross-platform questions.

Integration with 5-day metadata freeze

Assign descriptors to Day 4 or 5 in 5-day metadata freeze so policy rows freeze before October creative lock.

Beginner path

  1. Screenshot current Steamworks descriptor page.
  2. Cold install fest demo on non-dev account.
  3. Play 60 minutes noting violence, language, social UI, warnings.
  4. Fill proof table honestly.
  5. Disable fails or cut content.
  6. Update About/FAQ same day.
  7. Archive captures; update BUILD_RECEIPT.

First pass ~3 hours; ~30 minutes after content-only patches.

Ads and UTM freeze

Do not run new UTM experiments highlighting "online multiplayer" while online interaction flags are disabled for demo—landing copy and descriptors must match.

Asia–EU handoff

Asia–EU handoff must not toggle descriptor flags without updating descriptor-proof.md—morning EU review starts with descriptor screenshot diff.

Operating review cadence

Four Friday five-block review Block 3 (store): monthly descriptor screenshot even if no promotion—flags can change in Steamworks without a new build.

Glossary

Term Meaning
Content descriptor Steamworks mature/feature flag shown on store
Hour one First 60 minutes cold install
Capture Screenshot, clip note, or log proving observation
Triangle diff Cross-check vs About, FAQ, tags, trailer
Lock content_descriptors_locked true in receipt

When to re-audit descriptors only

Trigger Action
New combat or dialogue systems Full table
Social UI added to demo Online interaction rows
VO pass lands Language rows
Trailer re-cut Violence + frame table
Yellow on store-demo mismatch Descriptors + FAQ + About
Tag drift sprint Verify social tags vs flags

Localization of mature themes

Localization QA tools apply to translated About bullets mentioning horror or romance—German copy may imply mature themes English omits. Each locale row in proof table gets an annex line: translator confirms theme words match enabled flags.

DLC and cosmetic anchors

DLC anchor pages sometimes show separate descriptor sets—fest demo audit covers primary app players install from fest funnel. If DLC page is linked from demo menu, add proof rows for that SKU too.

Press and curator keys

Reviewers install under same descriptor stack as public demo. Press README should list enabled flags and attach capture folder—prevents review quotes claiming "unexpected gore" when flags were accurate but reviewer skipped hour one.

Hash and binary promotion coupling

After cold-hash week, re-run descriptor audit if promotion changed gameplay assets—even when store copy unchanged. Binary swaps can add combat without writer noticing.

Intake compression talking points

Partners under 72-hour windows ask "does the demo match the store page?" Open descriptor-proof.md + one capture—answer in minutes.

Privacy and data descriptors

If demo collects analytics or account tokens, separate from mature content but still belongs in compliance folder—cross-link privacy policy templates when FAQ mentions data collection. Do not conflate GDPR docs with violence flags—same folder, separate proof files.

October freeze rules

September: lock enabled descriptor set. October: no new flags unless demo content ships same week with captures. Typos in About that imply new mature themes still require writer fix even if flags frozen.

Additional common mistakes (five)

  1. Assuming ESRB letter replaces Steam descriptor audit.
  2. Letting community moderators promise features descriptors disallow.
  3. Ignoring branch naming when promoting main build with different mature content.
  4. Skipping operating review monthly screenshot.
  5. Treating photosensitivity as "only if epileptic players complain."

Schedule descriptor audit the week after first fest demo promotion—policy rows copied from main game are the most common silent fail in May audits.

Snippet-friendly answers (search intent)

Do Steam content descriptors apply to demos?
Yes. Players read the store page descriptor list before installing the fest demo build. Enabled flags are promises about what the installed zip can show in the first session.

How long does a first descriptor audit take?
About two hours with cold install, capture notes, and syncing About and FAQ. Weekly Wednesday screenshot diffs take roughly five minutes once the proof table exists.

What is the fastest fix when a flag fails hour one?
Disable the flag in Steamworks for the fest period, or remove the gameplay/content that justified the flag, then update FAQ and About the same day so textual copy matches policy rows.

Key takeaways

  • Content descriptors are install-time promises—audit like FAQ rows.
  • descriptor-proof.md with hour-one captures is the core artifact.
  • Disable flags not observable in fest demo hour one.
  • Triangle-diff descriptors against About, FAQ, tags, trailer.
  • Extend BUILD_RECEIPT with lock field.
  • May audits beat October policy emergencies.
  • Pair with AI disclosure and accessibility bullets.
  • Cheaper than 48-hour mismatch recovery.
  • Re-audit affected rows after gameplay patches—not only copy patches.
  • Press kits must list enabled flags with capture paths.
  • Separate privacy proof files from mature-content captures.
  • Monthly operating-review screenshot even without promotions.
  • Descriptor rows deserve the same promotion discipline as build_id.

FAQ

Do descriptors apply to demo depots only?
Players experience your store page descriptor set for the app—they expect the installed demo to match.

Can we enable flags for full game while demo is mild?
Disable for fest period or label store copy FULL GAME vs DEMO consistently.

What about regional ratings?
Add annex rows per territory if you maintain separate compliance docs.

LLM-generated About mentioning violence?
Run FAQ LLM Gate E then descriptor table.

October policy?
Freeze enabled set; changes require full re-audit.

How does this relate to wishlist truth audit?
Truth audit week should include a descriptor day—do not skip as "legal only."

What if our demo is intentionally mild but full game is mature?
Disable mature flags for fest marketing period; use About FULL GAME section for future themes with clear DEMO boundary in first paragraph.

Conclusion

Descriptors look like compliance checkboxes—they behave like marketing claims parents and partners treat as fact. A fest demo that installs under a false mature-content or online-interaction stack burns trust faster than a blurry capsule.

Run the proof table in May. Capture hour one. Disable what the demo cannot show. Your metadata sprint finishes stronger when policy rows tell the same truth as bullets, FAQ, and tags.

When demo patch notes mention new combat or voice lines, re-open only the affected descriptor rows—partial re-audit beats assuming policy metadata still matches after gameplay patches.

Open Steamworks descriptors tonight. Cold install tomorrow. One honest row at a time. Archive the capture that proves your most severe enabled flag—partners should never ask twice. Treat descriptor rows with the same promotion discipline you give build_id strings.