Skip to content

feat: add the polyspatial-playtest skill and recording-analyst agent - #51

Draft
Juniverse wants to merge 6 commits into
mainfrom
yanjin/polyspatial-playtest-skill
Draft

Juniverse wants to merge 6 commits into
mainfrom
yanjin/polyspatial-playtest-skill

Conversation

@Juniverse

@Juniverse Juniverse commented Sep 15, 2026

Copy link
Copy Markdown

What

  • skills/polyspatial-playtest: record a Play session as a PolySpatial .qrec, drive the game with simulated input, then answer from the recorded per-frame scene state instead of a screenshot. Also resolves annotation references (<recording>#<id>) that people leave on recordings from the Editor.
  • agents/recording-analyst.md: a Claude Code sub-agent the skill delegates measuring to. It only runs the annotation commands and read-only SceneStateQuery scripts through eval_file, and never reads project source, so its answer is a measurement. references/codex-recording-analyst.toml is the Codex equivalent, since Codex plugins cannot ship agents.

Why

A screenshot shows what one frame looked like; the recording shows what every entity was on every frame and can be queried after Play mode ends. The skill makes the agent measure from the recording first and read code second.

Requirements

A running Editor with com.unity.pipeline and com.unity.polyspatial.annotation (polyspatial_annotation_list / _show, polyspatial #4985, in review). Recording queries go through unity command eval_file against the public scene-state API and need polyspatial #4964; the query templates follow the Muse play-session-recording skills (polyspatial #4963). When the annotation commands are missing the skill says so and falls back to editor_play plus capture_game_view.

Verified

Installed as a project-scoped plugin against a Feel sample scene. Given an annotation reference and "how many turns did this cupcake rotate", the agent resolved the reference, pulled the rotation timelines, and reported 0.15 turns in the annotated frame, 6.94 in the surrounding burst and 13.89 over the recording, noting that the spin lives on the parent entity.

Same skill content as Unity-Technologies/skills#72.

Prove gameplay changes by recording a Play session as a PolySpatial .qrec, driving the game with simulated input, and answering from the recorded per-frame scene state. Resolves annotation references (<recording>#<id>) left on recordings. The recording-analyst sub-agent measures strictly from the recording; the Codex equivalent ships as a toml under references/.
The polyspatial_record_* and polyspatial_playback_* commands are not
shipping; the skill calls RecordingPlaybackScene through unity command
eval and leaves Play mode with editor_stop.
…ands

com.unity.polyspatial.annotation keeps only polyspatial_annotation_list and polyspatial_annotation_show. Listing, header, scene state, changes and timelines are SceneStateQuery chains run with eval_file against the public scene-state API (polyspatial #4964), following the Muse play-session-recording skill templates (polyspatial #4963).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant