Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame.

MITAuto-check passedGame Development

Install Uloop Pause Point

skills CLI
$ npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install CyberAgentGameEntertainment/NovaShader uloop-pause-point --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/CyberAgentGameEntertainment/NovaShader.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/uloop-pause-point .claude/skills/uloop-pause-point && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
uloop-pause-point
GitHub stars
1.6k
Token cost
~2k tokens
SKILL.md length
876 words
Files
9 (incl. references)
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame.

  • Works in 4 steps: Enter PlayMode. If the game progresses… → Arm the marker, fire the input, and wait… → Read CapturedVariables in the hit… → …
  • Bug investigation
  • SKILL.md covers Quick Check, Parameters, Status, Timeouts, Hot Reload and Requirements & Safety, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Uloop Pause Point is an agent skill from CyberAgentGameEntertainment/NovaShader. Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame. Use for bug investigation, PlayMode/E2E verification, checking variable values at a specific frame, or confirming that a code path executed.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including reference files (for example `references/capture-modes-and-history.md`, `references/captured-variables.md` and `references/condition-triggered-pause.md`).

It sits in Game Development, covering End-to-end testing. The repository describes itself as: Multi-functional shader for the Particle System that supports Universal Render Pipeline (URP) of Unity. The licence is MIT.

When your agent uses it

  • Bug investigation
  • PlayMode/E2E verification
  • Checking variable values at a specific frame
  • Confirming that a code path executed

Example prompts

  • “Use the uloop-pause-point skill to pause Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the…”
  • “/uloop-pause-point”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Enter PlayMode. If the game progresses on its own, pause it with control-play-mode --action Pause, arrange the scenario while paused, and…
  2. Arm the marker, fire the input, and wait for the hit in one foreground command
  3. Read CapturedVariables in the hit response first, then gather extra evidence while still paused (execute-dynamic-code, one screenshot).
  4. A single-shot marker (the default) disarms after the hit; clear other modes with uloop clear-pause-point.

What it can do on your machine

Read from SKILL.md and the folder at commit 7f0a400. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Uloop Pause Point loads about 2k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 83 tokens; SKILL.md has 876 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~83
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~18k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from CyberAgentGameEntertainment/NovaShader at commit 7f0a400, republished under its MIT licence (© CyberAgentGameEntertainment). 876 words, ~1,995 tokens.

Download SKILL.mdSave it as .claude/skills/uloop-pause-point/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
uloop-pause-point
description
Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame. Use for bug investigation, PlayMode/E2E verification, checking variable values at a specific frame, or confirming that a code path executed.

uloop pause-point

A pause point captures locals at an exact frame without a source edit. Prefer it over sleeps or after-the-fact reads when input delivery, event ordering, or transition-frame fidelity matters.

Quick Check

  1. Enter PlayMode. If the game progresses on its own, pause it with control-play-mode --action Pause, arrange the scenario while paused, and add --resume-play in step 2.
  2. Arm the marker, fire the input, and wait for the hit in one foreground command:
bash
uloop enable-pause-point --file Assets/Scripts/Enemy.cs --line 42 --timeout-seconds 60 --await --trigger "simulate-keyboard --action Press --key Space"
# paused the game in step 1? add --resume-play, or the input never lands
  1. Read CapturedVariables in the hit response first, then gather extra evidence while still paused (execute-dynamic-code, one screenshot).
  2. A single-shot marker (the default) disarms after the hit; clear other modes with uloop clear-pause-point.

Only CapturedVariables is evidence of the values at the patched line. Before deviating, read references/quick-check-template.md.

Parameters

Tables list Unity-accepted parameters plus clear's CLI-only --file/--line; other CLI-only flags (--await, --trigger, --resume-play, --expect, capture filters) are in the references.

enable-pause-point

Enable a pause point so Unity pauses when that code path is reached, either by a named UloopPausePoint.Pause marker (Id) or by resolving a source file and line (File+Line)

ParameterTypeDefaultDescription
--idstring-Named pause point id passed to UloopPausePoint.Pause. Mutually exclusive with File/Line
--filestring-Project-relative source file path to patch a pause point into. Requires Line; mutually exclusive with Id
--lineinteger-1-based source line to resolve within File. Requires File; mutually exclusive with Id
--timeout-secondsinteger30Seconds before the enable request expires and stops pausing late hits
--modeenumsingle-shotCapture mode: single-shot pauses once, continuous pauses on every hit, trace records hits without pausing
--hit-whenstring-Conditional capture expression (<name> <op> <literal>). Only matching hits are captured; requires File and Line
--max-historyinteger20Maximum number of captured hit frames to retain (1-100)
--max-preview-elementsinteger10Maximum elements in a captured collection's preview (1-1000). Also caps previews in later pause-point-status responses; status cannot change it.
--max-caller-framesinteger2Maximum caller stack frames recorded per hit (0-8). 0 disables capture. Also caps later pause-point-status responses; status cannot change it.
--methodstring-Optional method simple name or Type.Method. When set, --line resolves only inside matching methods
--snapshot-timingenumpre-linepre-line captures before the resolved line runs; post-line captures after that line's statement finished, without arming the next line
clear-pause-point

Clear one or all named UloopPausePoint.Pause markers. The response field ClearedCount is the number of markers this call transitioned to Cleared: 0 or 1 for --id, and the number transitioned for --all. Auto-disarmed and expired markers still count as 1; the record stays readable via pause-point-status (StatusBeforeClear keeps the prior state). Clearing the marker that owns the current pause releases the Editor pause and lets the game consume any state you arranged while paused: arm the next marker first, then clear the old id, or re-arm it with --await --resume-play instead of clearing.

ParameterTypeDefaultDescription
--idstring-Named pause point id to clear
--filestring-Project-relative source file of a file:line pause point. Requires --line; mutually exclusive with --id and --all
--lineinteger-1-based source line of a file:line pause point. Requires --file; mutually exclusive with --id and --all
--allflag-Clear every non-cleared pause point marker (armed, auto-disarmed, or expired)
Show full SKILL.md (351 more words)Show less
enable-watch

Register a C# expression to evaluate on each paused Play Mode step

ParameterTypeDefaultDescription
--idstring-Unique watch expression identifier
--expressionstring-C# expression returning an object; UloopPausePoint.TryGetCapturedValue can read the latest raw capture
--max-historyinteger20Maximum number of watch evaluations to retain (1-100)
get-watch-values

Show registered watch expression values and bounded evaluation history

ParameterTypeDefaultDescription
--idstring-Optional watch expression identifier; omit to return all watches
clear-watch

Clear one or all registered C# watch expressions

ParameterTypeDefaultDescription
--idstring-Watch expression identifier to clear
--allflag-Clear every registered watch expression

Status, Timeouts, Hot Reload

uloop pause-point-status with no target lists every marker; inspect one with --id "<file>:<line>" or with --file/--line together (never both). await-pause-point and clear-pause-point take the same two forms; await always needs a target.

On a wait timeout, PAUSE_POINT_EXPIRED, or an enable failure, read Error.Details.Hint or the failure ErrorCode, then RecommendedNextAction. After hot reload, use --method <Type.Method> to constrain --line.

Requirements & Safety

  • On the automatic Debug-switch warning: the pause point is already armed - do not interrupt or ask mid-flow. The switch reverts on every Editor restart, so at the next stopping point propose uloop set-code-optimization debug --startup (session-only without --startup); only if the user approves. See the troubleshooting reference.

  • Patches do not survive compiles or domain reloads, including a Play entry with Domain Reload enabled (the enable response warns) — re-enable afterwards. uloop compile during PlayMode also resets the session.

  • Physics message methods, their helpers, and pre-bound delegates can miss hits on pre-existing GameObjects; the enable response warns where detectable.

  • An --id marker waits on a hand-written UloopPausePoint.Pause(id) call; its hits record no CapturedVariables.

  • For scripts under Packages/, pass the package-id path form (Packages/<package-id>/...); physical checkout paths do not resolve.

Reference Guides

Read the one whose trigger matches:

  • references/quick-check-template.md — full --trigger/--await/--resume-play loop, timeouts, hit fields.
  • references/captured-variables.md — captures, name filters, --expect value forms, caller frames, raw values.
  • references/capture-modes-and-history.md — modes, history, --max-history, --hit-when.
  • references/line-placement.md — choosing the line: every-frame lines, held input, input+N frames.
  • references/watch-expressions.md — watch rules.
  • references/condition-triggered-pause.md — runtime-condition pauses.
  • references/fast-progressing-games.md — freezing self-progressing games, --resume-play.
  • references/troubleshooting.md — timeouts, missed hits, hot reload, failure codes.

© CyberAgentGameEntertainment, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (references) in .claude/skills/uloop-pause-point of CyberAgentGameEntertainment/NovaShader.

  • SKILL.md
  • references/capture-modes-and-history.md
  • references/captured-variables.md
  • references/condition-triggered-pause.md
  • references/fast-progressing-games.md
  • references/line-placement.md
  • references/quick-check-template.md
  • references/troubleshooting.md
  • references/watch-expressions.md

Open the folder on GitHubat commit 7f0a400

Compare with similar skills

Uloop Pause Point next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Uloop Pause Point compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uloop Pause Point this skillCyberAgentGameEntertainment/NovaShader1.6k—~2kAutomated safety check: PassMIT
ScreenshotRandallLiuXin/GodotMaker5491 repos~1.5kAutomated safety check: PassCustom licence
Gm ScaffoldRandallLiuXin/GodotMaker549—~1.9kAutomated safety check: PassCustom licence
Godot E2ERandallLiuXin/GodotMaker5491 repos~3.9kAutomated safety check: PassCustom licence
Live2d End To Endluomo66ccff/Amahane-Hikari-Live2D109—~321Automated safety check: PassCustom licence
New Feature Designagentic-community/mcp-gateway-registry964—~18kAutomated safety check: NotesApache-2.0

Similar skills

  • Screenshot

    RandallLiuXin/GodotMaker

    Capture gameplay screenshots using godot-e2e for visual verification.

    549 GitHub starsUsed in 1 repo~1.5k tokens
    Game DevelopmentAuto-check passed
  • Gm Scaffold

    RandallLiuXin/GodotMaker

    Scaffold a new Godot project: project.godot + addons + base directories + e2e/conftest.py + initial git commit.

    549 GitHub stars~1.9k tokensUpdated 21 days ago
    Game DevelopmentAuto-check passed
  • Godot E2E

    RandallLiuXin/GodotMaker

    Write and run E2E (end-to-end) game tests using the godot-e2e framework.

    549 GitHub starsUsed in 1 repo~3.9k tokens
    Testing & QAAuto-check passed
  • Live2d End To End

    luomo66ccff/Amahane-Hikari-Live2D

    从角色需求、候选素材和真实分层开始,完成 Live2D Cubism 绑定、动态、网页验收与可回退发布;适用于 Hikari 类项目,不把生成图或网页动画冒充已完成的模型编辑。

    109 GitHub stars~321 tokensUpdated 17 days ago
    Game DevelopmentAuto-check passed
  • New Feature Design

    agentic-community/mcp-gateway-registry

    Design and document new features with GitHub issue, low-level design (LLD), expert review, and testing plan.

    964 GitHub stars~18k tokensUpdated 2 days ago
    Testing & QAAuto-check: notes
  • Gm Evaluate

    RandallLiuXin/GodotMaker

    Evaluate the current tag's quality: enforce the playable-closed-loop gate, maintain a single cross-tag e2e/ suite that always reflects the current game (add tests for new mechanics, prune tests for…

    549 GitHub stars~4.7k tokensUpdated 21 days ago
    Testing & QAAuto-check passed

More from CyberAgentGameEntertainment/NovaShader

All 10 skills in this repo
  • Uloop Execute Dynamic Code

    CyberAgentGameEntertainment/NovaShader

    Execute C with Unity APIs when existing uloop tools cannot inspect or edit enough.

    1.6k GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Uloop Simulate Keyboard

    CyberAgentGameEntertainment/NovaShader

    Simulate keyboard input in PlayMode through Unity Input System.

    1.6k GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Uloop Simulate Mouse Input

    CyberAgentGameEntertainment/NovaShader

    Simulate Mouse.current input in PlayMode through Unity Input System.

    1.6k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Uloop Control Play Mode

    CyberAgentGameEntertainment/NovaShader

    Control Unity Editor Play Mode. An agent skill from CyberAgentGameEntertainment/NovaShader.

    1.6k GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • Uloop Launch

    CyberAgentGameEntertainment/NovaShader

    Launch or restart Unity Editor. An agent skill from CyberAgentGameEntertainment/NovaShader.

    1.6k GitHub starsUsed in 1 repo~782 tokens
    Auto-check passed
  • Uloop Hot Reload

    CyberAgentGameEntertainment/NovaShader

    Hot reload applies method-body edits and can add new methods and fields (added members are visible to edited code in the same reload within the same assembly); it can also change signatures: a…

    1.6k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed

Questions about Uloop Pause Point

What does Uloop Pause Point do?

Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame. Uloop Pause Point is an agent skill from CyberAgentGameEntertainment/NovaShader. Pauses Unity playback at any source file:line without editing code or recompiling, and returns a snapshot of the locals, parameters, and instance fields at that exact frame.

When should I use Uloop Pause Point?

Uloop Pause Point fits situations like: bug investigation; playMode/E2E verification; checking variable values at a specific frame; confirming that a code path executed.

How do I install Uloop Pause Point in Claude Code?

Run `npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a claude-code`. Or copy the skill folder (.claude/skills/uloop-pause-point in CyberAgentGameEntertainment/NovaShader) into .claude/skills/uloop-pause-point in your project. Claude Code loads it when a task matches its description.

How do I install Uloop Pause Point in Codex?

Run `npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a codex`. Or copy the skill folder (.claude/skills/uloop-pause-point in CyberAgentGameEntertainment/NovaShader) into .agents/skills/uloop-pause-point in your project. Codex loads it when a task matches its description.

Can I use Uloop Pause Point in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add CyberAgentGameEntertainment/NovaShader --skill uloop-pause-point -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uloop-pause-point, .gemini/skills/uloop-pause-point, .github/skills/uloop-pause-point and .opencode/skills/uloop-pause-point in your project.

What does Uloop Pause Point need to run?

SKILL.md names no scripts, command-line tools or credentials: Uloop Pause Point is instructions for the agent only.

Does Uloop Pause Point access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Uloop Pause Point safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Uloop Pause Point use?

Uloop Pause Point is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Uloop Pause Point use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 16k tokens, read only when the agent opens those files.

What are the alternatives to Uloop Pause Point?

Skills that share tags, products or a category with Uloop Pause Point: Screenshot (RandallLiuXin/GodotMaker, 549 stars), Gm Scaffold (RandallLiuXin/GodotMaker, 549 stars), Godot E2E (RandallLiuXin/GodotMaker, 549 stars) and Live2d End To End (luomo66ccff/Amahane-Hikari-Live2D, 109 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uloop Pause Point?

CyberAgentGameEntertainment (a GitHub organization) maintains it in CyberAgentGameEntertainment/NovaShader, which has 1,622 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 7, 2026.

Source: CyberAgentGameEntertainment/NovaShader on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.