Agent skill

Uloop Hot Reload

by hatayama in hatayama/unity-cli-loop

Apply C edits to the running Editor without a compile or domain reload, keeping Play Mode state.

MITAuto-check passedGame Development

Install Uloop Hot Reload

skills CLI
$ npx skills add hatayama/unity-cli-loop --skill uloop-hot-reload -a claude-code

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

GitHub CLI
$ gh skill install hatayama/unity-cli-loop uloop-hot-reload --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/hatayama/unity-cli-loop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/uloop-hot-reload .claude/skills/uloop-hot-reload && 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-hot-reload
GitHub stars
578
Token cost
~2k tokens
SKILL.md length
1,057 words
Files
8 (incl. references)
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Apply C edits to the running Editor without a compile or domain reload, keeping Play Mode state.

  • Game Development work in your project
  • SKILL.md covers Usage, Parameters, Status and How It Works, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Uloop Hot Reload is an agent skill from hatayama/unity-cli-loop. Apply C edits to the running Editor without a compile or domain reload, keeping Play Mode state. Use instead of compile after editing method bodies or adding methods, fields, or new classes.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including reference files (for example `references/added-field-wiring.md`, `references/introduced-types.md` and `references/mechanism-and-lifecycle.md`).

It sits in Game Development. It works with C#. The repository describes itself as: Let AI Drive Unity, from Editor to Play Mode. The licence is MIT.

When your agent uses it

  • Game Development work in your project

Example prompts

  • “/uloop-hot-reload”

What it can do on your machine

Read from SKILL.md and the folder at commit a6cb372. 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 Hot Reload loads about 2k tokens when it runs, and up to ~30k if it reads all its reference files. Until then it costs about 52 tokens; SKILL.md has 1,057 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
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
~30k

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 hatayama/unity-cli-loop at commit a6cb372, republished under its MIT licence (© hatayama). 1,057 words, ~1,980 tokens.

Download SKILL.mdSave it as .claude/skills/uloop-hot-reload/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
uloop-hot-reload
description
Apply C# edits to the running Editor without a compile or domain reload, keeping Play Mode state. Use instead of compile after editing method bodies or adding methods, fields, or new classes.
toolName
hot-reload

uloop hot-reload

Replaces method bodies in the running Editor (EditMode or PlayMode) directly from edited project source files — no domain reload, no attributes, no source markers. Private/internal member access, static methods, return values, async methods, and iterators all work within the limits below, including private access inside async, iterator, lambda, local-function, and LINQ-query bodies. Methods that cannot be patched are reported as Skipped or Failed; one unpatchable method never aborts the rest of the run. Outcome says whether the edit is live (ReplacedByCompile: a fallback compile succeeded, so it is compiled in and no patch is active).

Usage

bash
uloop hot-reload --files Assets/Scripts/Enemy.cs
uloop hot-reload --files Assets/Scripts/Enemy.cs,Assets/Scripts/Boss.cs
uloop hot-reload
uloop hot-reload --files Assets/Scripts/Enemy.cs --compile-on-skip off
uloop hot-reload --revert-all

Multiple files are one comma-separated value (or a JSON array); array options consume exactly one value token.

A script under a brand-new .asmdef cannot be hot-reloaded before its first import: Unity has not created that assembly yet. Run uloop compile once, then iterate with hot reload. A new file under an existing .asmdef can be hot-reloaded, but it is never selected automatically — pass it with --files.

Parameters

ParameterTypeDefaultDescription
--filesarray-Project-relative .cs paths to hot-reload (method bodies, added members, and new top-level types). When omitted or empty on apply, selects compiled snapshot sources only — those whose bytes changed since the last compile snapshot, capped at 50 changed files per assembly with a warning when the cap trims the list; a file that has never been compiled is never selected and must be passed explicitly, except an introduced type's file after Play Mode entry or --revert-all, which is selected again; run uloop compile first when no snapshot exists, or pass explicit paths when no changed source is found
--revert-allflag-Remove every active hot-reload patch and added member and clear the ledger; introduced types stay loaded until the next domain reload. When set, --files is ignored
--statusflag-Lists the currently active changes (patched methods, added members, and introduced types) without applying or reverting anything.
--compile-on-skipenumautoWhen edits stay unapplied (Skipped/Failed methods, Failed types; a re-bound sibling's Skipped rows aside), run uloop compile in this command: auto only in Edit Mode (never stops a Play session), on always unless Unity holds compiles until Play ends, off never. The response's CompileFallback says which; when the compile ran, Compile carries its result and Success is the compile's.

Status

uloop hot-reload --status lists the currently active changes; it cannot be combined with --files or --revert-all. Every change is static Editor state, so after a domain reload it reports zero. Each Active/Added row's InvocationCount counts calls into its body since it was applied — a reachability signal only while the code is being driven.

How It Works

The edited files are grouped by the compiled assembly they belong to. Per group an out-of-process Roslyn worker rewrites every editable body into a static shim, the shims compile into one shim assembly and load into the Editor domain, and each original method is patched with a Harmony transpiler. Because a group shares one shim assembly, a body edited in one file can call a member added in another edited file of the same assembly. Re-running after a real edit replaces the patch; an unchanged file reports AlreadyActive and changes nothing unless a sibling of the same assembly is in the reload, in which case it is re-applied so every active patch binds to the newest shim. With a compile-time baseline only bodies that actually changed are patched (UnchangedTotal counts the rest).

Show full SKILL.md (491 more words)Show less

Scope in Brief

  • Patched: ordinary method bodies and property getters with a body.
  • Added members: new methods, fields, and supported properties apply as Added rows (supported field-like events of a class are listed in AddedFields), visible to edited code of the same reload within the same assembly (pass the declaring file and its callers together), and gone on any compile or domain reload.
  • New types: a top-level class, struct, enum, or interface declared in an edited file is introduced by that reload and listed in IntroducedTypes; other valid shapes are refused with a Warnings line naming the reason. Use from another assembly or from files outside the reload, reflection, serialization, and Unity message discovery still need uloop compile.
  • Signature changes: a return-type change is Skipped unless this or an earlier reload patched every live compiled caller, none in another assembly; a rename or parameter change applies as an added method and warns about call sites left on the old signature.
  • Constructors, operators, struct methods, compiled setter/init/indexer accessors, and event accessors are Skipped; finalizers and interface members are silently not applied.
  • A reload applies each file all-or-nothing: a Failed method leaves that file unapplied, a Failed type leaves every file of its assembly unapplied.

Workflow

Treat hot reload as the exploration phase and uloop compile as the landing phase: keep edits inside the edited files, collect structural changes, and compile once — every compile drops all patches and pause points and resets the PlayMode session (the compile response's Warning says how many). While hot-reload changes are active, AutoRefreshHeld is true so returning focus does not recompile; uloop compile releases the hold, and --revert-all only when no introduced type remains. One-shot methods (Awake, Start, init helpers) patch but show no effect on the call that already ran; the response marks them with LifecycleNote. To re-run an edited compiled OnEnable, set enabled = false with execute-dynamic-code, reload, then set it back to true (Unity calls the old OnDisable, then the patched OnEnable). An edited OnDisable runs the next time the component is disabled; to run it now, toggle enabled after the reload. To tune a value while playing, expose a static property getter instead of a const; its body is patched on compiled and introduced types alike.

Reference Guides

All files live in references/ beside this skill; read the one whose trigger matches:

  • references/scope-and-limits.md — full scope rules: added members, signature changes, Skipped/Failed tables, source baselines, one-shot code, tunable getters.
  • references/mechanism-and-lifecycle.md — patch mechanism, convergence, what survives which reload, Editor-code iteration without PlayMode.
  • references/troubleshooting.md — Patched but no behavior change, JIT inlining, --status, stack frames without lines.
  • references/pause-point-interaction.md — how patches re-target or suppress armed pause points; one-way reachability checks.
  • references/introduced-types.md — types a reload can introduce: supported shapes, internal access, refusal wording, identity and lifetime, why a new file is never selected automatically.
  • references/added-field-wiring.md — putting a value into an added field without a compile.
  • references/output.md — "Is my edit live?" (Outcome), Timing, every response field: ErrorCode, NextActions, Methods rows, Warnings, totals.

© hatayama, 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 7 other files (references) in .agents/skills/uloop-hot-reload of hatayama/unity-cli-loop.

  • SKILL.md
  • references/added-field-wiring.md
  • references/introduced-types.md
  • references/mechanism-and-lifecycle.md
  • references/output.md
  • references/pause-point-interaction.md
  • references/scope-and-limits.md
  • references/troubleshooting.md

Open the folder on GitHubat commit a6cb372

Compare with similar skills

Uloop Hot Reload 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 Hot Reload compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uloop Hot Reload this skillhatayama/unity-cli-loop578—~2kAutomated safety check: PassMIT
Uloop Execute Dynamic CodeCyberAgentGameEntertainment/NovaShader1.6k1 repos~1.9kAutomated safety check: PassMIT
Locus Unity BridgeMisaka-Mikoto-Tech/agent-skills278—~4kAutomated safety check: PassMIT
Gameobject Component List AllIvanMurzak/Unity-MCP4.4k—~846Automated safety check: PassApache-2.0
Validate GsdkPlayFab/gsdk170—~645Automated safety check: PassApache-2.0
Aibridge Development WorkflowFlameskyDexive/Legends-Of-Heroes928—~790Automated safety check: PassMIT

Similar skills

  • 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
    Game DevelopmentAuto-check passed
  • Locus Unity Bridge

    Misaka-Mikoto-Tech/agent-skills

    A skill your agent uses when an agent needs to inspect or control a real Unity Editor through Locus, especially when Unity MCP is unavailable, named-pipe discovery is needed, C must be executed, or…

    278 GitHub stars~4k tokensUpdated 19 days ago
    Game DevelopmentAuto-check passed
  • Gameobject Component List All

    IvanMurzak/Unity-MCP

    List the fully-qualified C type names of every concrete UnityEngine.Component subclass available in the project.

    4.4k GitHub stars~846 tokensUpdated today
    Game DevelopmentAuto-check passed
  • Validate Gsdk

    PlayFab/gsdk

    Validates PlayFab Game Server SDK (GSDK) integrations in game server projects.

    170 GitHub stars~645 tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Aibridge Development Workflow

    FlameskyDexive/Legends-Of-Heroes

    AIBridge/Unity 项目的标准开发工作流。Use when creating, modifying, fixing, refactoring, or validating C code, Unity assets, prefabs, editor tools, package structure, tests, AGENTS.md, or local Skills.

    928 GitHub stars~790 tokensUpdated 18 days ago
    Game DevelopmentAuto-check passed
  • Unity Plugin

    TomLeeLive/openclaw-unity-plugin

    Control Unity Editor via OpenClaw Unity Plugin. An agent skill from TomLeeLive/openclaw-unity-plugin.

    107 GitHub stars~5.1k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed

More from hatayama/unity-cli-loop

All 11 skills in this repo
  • Uloop Pause Point

    hatayama/unity-cli-loop

    Breakpoint-like: pause Unity at a source file:line without editing code or recompiling, and get the locals, parameters, and fields there.

    578 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Uloop Record Video

    hatayama/unity-cli-loop

    Record the Game View or any Editor window (Scene, Inspector, ...) to an .mp4 or .webm video.

    578 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • V3 CLI Invocation Migration

    hatayama/unity-cli-loop

    Migrate only uloop V2 CLI option syntax in agent skills, Markdown, POSIX shell scripts, and PowerShell scripts to V3 syntax.

    578 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Uloop Get Project Info

    hatayama/unity-cli-loop

    Get Unity project information via uloop CLI. An agent skill from hatayama/unity-cli-loop.

    578 GitHub stars~228 tokensUpdated today
    Auto-check passed
  • Uloop Hello World

    hatayama/unity-cli-loop

    Sample uloop hello-world tool. An agent skill from hatayama/unity-cli-loop.

    578 GitHub stars~321 tokensUpdated today
    Auto-check passed
  • Uloop Compile

    hatayama/unity-cli-loop

    Compile the Unity project and report errors/warnings. An agent skill from hatayama/unity-cli-loop.

    578 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Works with

Questions about Uloop Hot Reload

What does Uloop Hot Reload do?

Apply C edits to the running Editor without a compile or domain reload, keeping Play Mode state. Uloop Hot Reload is an agent skill from hatayama/unity-cli-loop. Apply C edits to the running Editor without a compile or domain reload, keeping Play Mode state.

When should I use Uloop Hot Reload?

Uloop Hot Reload fits situations like: game Development work in your project.

How do I install Uloop Hot Reload in Claude Code?

Run `npx skills add hatayama/unity-cli-loop --skill uloop-hot-reload -a claude-code`. Or copy the skill folder (.agents/skills/uloop-hot-reload in hatayama/unity-cli-loop) into .claude/skills/uloop-hot-reload in your project. Claude Code loads it when a task matches its description.

How do I install Uloop Hot Reload in Codex?

Run `npx skills add hatayama/unity-cli-loop --skill uloop-hot-reload -a codex`. Or copy the skill folder (.agents/skills/uloop-hot-reload in hatayama/unity-cli-loop) into .agents/skills/uloop-hot-reload in your project. Codex loads it when a task matches its description.

Can I use Uloop Hot Reload 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 hatayama/unity-cli-loop --skill uloop-hot-reload -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-hot-reload, .gemini/skills/uloop-hot-reload, .github/skills/uloop-hot-reload and .opencode/skills/uloop-hot-reload in your project.

What does Uloop Hot Reload need to run?

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

Does Uloop Hot Reload 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 Hot Reload 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 Hot Reload use?

Uloop Hot Reload 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 Hot Reload use?

About 2k tokens (SKILL.md is roughly 7.9k 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 28k tokens, read only when the agent opens those files.

What are the alternatives to Uloop Hot Reload?

Skills that share tags, products or a category with Uloop Hot Reload: Uloop Execute Dynamic Code (CyberAgentGameEntertainment/NovaShader, 1.6k stars), Locus Unity Bridge (Misaka-Mikoto-Tech/agent-skills, 278 stars), Gameobject Component List All (IvanMurzak/Unity-MCP, 4.4k stars) and Validate Gsdk (PlayFab/gsdk, 170 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uloop Hot Reload?

hatayama (a GitHub user) maintains it in hatayama/unity-cli-loop, which has 578 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 10, 2026.

Source: hatayama/unity-cli-loop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.