Agent skill

Unity Scene

by Besty0728 in Besty0728/Unity-Skills

“Manage Unity scenes”

— description from SKILL.md by Besty0728
MITAuto-check passedGame Development

Install Unity Scene

skills CLI
$ npx skills add Besty0728/Unity-Skills --skill unity-scene -a claude-code

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

GitHub CLI
$ gh skill install Besty0728/Unity-Skills unity-scene --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/Besty0728/Unity-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'SkillsForUnity/unity-skills~/skills/scene' .claude/skills/unity-scene && 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
unity-scene
GitHub stars
1.8k
Token cost
~2.7k tokens
SKILL.md length
1,163 words
Files
1
Skills in repo
82
Repo updated
First seen
Licence
MIT

At a glance

  • Works in 5 steps: Always save before loading a new scene → Use additive loading for UI overlays → Keep scene hierarchy organized with… → …
  • SKILL.md covers Triggers, Operating Mode, Skills Overview and Skills, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

About this skill

Unity Scene is a skill in Besty0728/Unity-Skills (1.8k stars). Its SKILL.md is about 2.7k tokens. Licence: MIT.

Workflow steps

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

  1. Always save before loading a new scene
  2. Use additive loading for UI overlays
  3. Keep scene hierarchy organized with empty parent objects
  4. Use scene_get_info to verify scene state
  5. Screenshots are saved under Assets/Screenshots/ (filename is a bare name; any path separators are stripped)

What it can do on your machine

Read from SKILL.md and the folder at commit ec8aa7c. 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 python).

    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

Unity Scene loads about 2.7k tokens when it runs. Until then it costs about 8 tokens; SKILL.md has 1,163 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~8
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k

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 Besty0728/Unity-Skills at commit ec8aa7c, republished under its MIT licence (© Besty0728). 1,163 words, ~2,682 tokens.

Download SKILL.mdSave it as .claude/skills/unity-scene/SKILL.md (or your agent's skills folder).
name
unity-scene
description
Manage Unity scenes

Before calling any skill in this module: if you are about to call a skill with parameters guessed from its name or description, STOP — read this file (or fetch its schema via GET /skills/recommend?includeSchema=true) first. If you already have the parameter definitions from recommend/schema, you may proceed straight to dryRun.

Triggers

  • Opening or saving scenes
  • Loading additively
  • Switching active scene
  • Querying scene contents
  • 打开或保存场景、叠加加载、切换活动场景、查询场景内容

Unity Scene Skills

Control Unity scenes - the containers that hold all your GameObjects.

Operating Mode

  • Approval:本模块 Mixed —— scene_get_info / scene_get_hierarchy / scene_get_loaded / scene_find_objects 标 SkillMode.SemiAuto,可直接执行;scene_screenshot / scene_unload / scene_set_active 未设 Mode 字段(默认 FullAuto),Approval 模式下需 grant。
  • Auto / Bypass:FullAuto 直接执行。
  • 含 NeverInSemi 高危 skill:scene_create / scene_load / scene_save(标 RiskLevel="high",因为切换/覆盖整个场景文件影响范围极大)。这些在 Approval/Auto 下返 MODE_FORBIDDEN,仅 Bypass 或 Allowlist 命中可调。

DO NOT (common hallucinations):

  • scene_delete / scene_rename do not exist → delete scene files via asset_delete, rename via asset_move
  • scene_list does not exist → use scene_get_loaded (loaded scenes) or asset_find with t:Scene (all scene assets)
  • scene_find_objects is a simple name/tag/component filter; for regex/layer/path search use gameobject_find (SkillMode.SemiAuto, 只读,任何模式可直接调用)

Routing:

  • For detailed hierarchy tree → use perception module's hierarchy_describe
  • For scene statistics → use perception module's scene_summarize
  • For screenshot → scene_screenshot (this module) captures the Game View final composited image (all cameras + UI; in Play mode this is the live runtime frame); camera_screenshot (camera module, SkillMode.FullAuto) renders a single Game Camera off-screen

Skills Overview

SkillDescription
scene_createCreate a new scene
scene_loadLoad a scene
scene_saveSave current scene
scene_get_infoGet scene information
scene_get_hierarchyGet hierarchy tree
scene_screenshotCapture screenshot
scene_get_loadedGet all loaded scenes
scene_unloadUnload an additive scene
scene_set_activeSet active scene
scene_find_objectsSearch objects by name/tag/component

Skills

scene_create

Create a new scene.

ParameterTypeRequiredDescription
scenePathstringYesPath for new scene (e.g., "Assets/Scenes/MyScene.unity")
scene_load

Load a scene.

ParameterTypeRequiredDefaultDescription
scenePathstringYes-Scene asset path
additiveboolNofalseLoad additively (keep current scene)
scene_save

Save the current scene.

ParameterTypeRequiredDescription
scenePathstringNoSave path (null = save current)
scene_get_info

Get current scene information.

No parameters.

Returns: {sceneName, scenePath, isDirty, rootObjectCount, rootObjects: [{name, entityId, instanceId, childCount}]} — root entries carry childCount, so you can tell which roots are worth descending into before paying for a hierarchy call.

scene_get_hierarchy

Get the scene hierarchy tree, depth-limited.

ParameterTypeRequiredDefaultDescription
maxDepthintNo3Maximum hierarchy depth to expand

Returns: {sceneName, hierarchy: [node, ...]} where each node is {name, scene, entityId, instanceId, components: [type, ...], childCount, children}. scene is the node's owning scene name.

DontDestroyOnLoad: in Play mode, roots of the DontDestroyOnLoad pseudo-scene are appended after the active-scene nodes, marked with scene: "DontDestroyOnLoad". scene_get_loaded also lists it as {name: "DontDestroyOnLoad", isPseudoScene: true} when it has roots. These objects are found by gameobject_find like any other; the scene itself cannot be unloaded or activated.

childCount vs children — how to tell a leaf from a truncation. childCount is always the node's real number of children, independent of maxDepth; children is null once the depth limit is reached. So:

childCountchildrenMeaning
0nullGenuine leaf — nothing below it.
> 0nullClipped by maxDepth — there are children you have not been shown.
> 0arrayFully expanded at this level.

Never read children: null as "empty". When you see childCount > 0 with children: null and you need what is below it, re-call with a larger maxDepth — the default is only 3, so deep hierarchies are truncated by default — or query that subtree directly (gameobject_find, hierarchy_describe in the perception module).

scene_screenshot

Capture a screenshot of the Game View — the final composited frame of all cameras + UI. In Play mode this is the live runtime image, not the Scene/editor view. For a single Game Camera's render use camera_screenshot instead.

ParameterTypeRequiredDefaultDescription
filenamestringNo"screenshot.png"Bare filename only (no path separators); saved under Assets/Screenshots/
widthintNo1920Image width
heightintNo1080Image height
returnImageboolNofalseAlso return a PNG as base64 in the response (imageBase64), for clients without filesystem access
maxDimensionintNo1280Only used when returnImage=true; downscales the returned image (not the saved file) so its longer edge is ≤ this value. Clamped to 256–4096

Returns: {success, path, width, height, isPlaying, note}. isPlaying indicates whether the frame is a live runtime image (Play mode) or a static Edit-mode frame. Adds {imageBase64, imageWidth, imageHeight, imageBytes} when returnImage=true. If the base64 payload would exceed 8MB, the skill returns an error asking for a smaller maxDimension — the file at path is still saved.

Async: ScreenCapture.CaptureScreenshot writes the PNG ~1 frame later. If reading path immediately fails, wait ~200ms and retry. returnImage does not read that file back — since it isn't written yet — it instead does a separate synchronous capture of the Game View's current backbuffer (ScreenCapture.CaptureScreenshotAsTexture), so the returned image may be a moment older than the file eventually written to path.

returnImage usage tip: a local agent that can read files (e.g. Claude Code against a local Unity Editor) should generally omit returnImage and just read the PNG at path once it's written — it's cheaper on tokens. Use returnImage=true for remote/MCP clients that have no filesystem access to the Unity project.

Show full SKILL.md (330 more words)Show less
scene_get_loaded

Get list of all currently loaded scenes.

No parameters.

Returns: {success, scenes: [{name, path, isActive, isDirty}]}

scene_unload

Unload a loaded scene (additive).

ParameterTypeRequiredDescription
sceneNamestringYesScene name to unload
scene_set_active

Set the active scene (for multi-scene editing).

ParameterTypeRequiredDescription
sceneNamestringYesScene name to set active
scene_find_objects

Search GameObjects by name pattern, tag, or component type. For advanced search (regex, layer, path) use gameobject_find.

ParameterTypeRequiredDefaultDescription
namePatternstringNo-Name substring to match (case-insensitive)
tagstringNo-Filter by tag; a tag not defined in Tags & Layers is rejected
componentTypestringNo-Filter by component type name; an unknown type is rejected
limitintNo50Max results to return

Returns: {success, count, objects: [{name, path, instanceId, active, tag}]}


Example Usage

python
import unity_skills

# Create a new scene
unity_skills.call_skill("scene_create", scenePath="Assets/Scenes/Level1.unity")

# Load an existing scene
unity_skills.call_skill("scene_load", scenePath="Assets/Scenes/MainMenu.unity")

# Load scene additively (multi-scene)
unity_skills.call_skill("scene_load", scenePath="Assets/Scenes/UI.unity", additive=True)

# Get current scene info
info = unity_skills.call_skill("scene_get_info")
print(f"Scene: {info['name']}, Objects: {info['rootObjectCount']}")

# Get full hierarchy (useful for understanding scene structure)
hierarchy = unity_skills.call_skill("scene_get_hierarchy", maxDepth=5)

# Save scene
unity_skills.call_skill("scene_save")

# Take screenshot
unity_skills.call_skill("scene_screenshot", filename="preview.png", width=1920, height=1080)

Best Practices

  1. Always save before loading a new scene
  2. Use additive loading for UI overlays
  3. Keep scene hierarchy organized with empty parent objects
  4. Use scene_get_info to verify scene state
  5. Screenshots are saved under Assets/Screenshots/ (filename is a bare name; any path separators are stripped)

Exact Signatures

Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.

Common Errors

Full transport-level codes (COMPILING/RATE_LIMIT etc.) → ../../references/protocol-error-codes.md

ErrorTriggerFix
TARGET_NOT_FOUNDThe requested scene is not found or not currently loaded (e.g., Scene not found, Scene is not loaded).Verify the scene path with asset_find or list loaded scenes with scene_get_loaded, then retry.
MISSING_PARAMA required parameter is missing, such as scenePath for scene_create, or the current scene has no save path.Provide scenePath or save the scene once before the operation.
SEMANTIC_INVALIDAn invalid tag or component type was passed to scene_find_objects.Use a valid tag or component type name, and consider gameobject_find for more complex filters.
SKILL_ERRORA state constraint blocked the operation, such as attempting to unload the only loaded scene.Adjust the request to a valid editor state (e.g., keep at least one scene loaded).

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

Files

Just SKILL.md in SkillsForUnity/unity-skills~/skills/scene of Besty0728/Unity-Skills.

Open the folder on GitHubat commit ec8aa7c

Compare with similar skills

Unity Scene 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.

Unity Scene compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unity Scene this skillBesty0728/Unity-Skills1.8k—~2.7kAutomated safety check: PassMIT
Image to Three.js Modelimg2threejs/img2threejs18k1 repos~8.2kAutomated safety check: PassApache-2.0
Web CloneJane-xiaoer/claude-skill-web-clone1k2 repos~2.7kAutomated safety check: PassMIT
Threejs Game Directormajidmanzarpour/threejs-game-skills2.4k—~2.2kAutomated safety check: PassMIT
Game Asset Generatorhtdt/godogen7.1k—~2.8kAutomated safety check: PassMIT
Threejs Gameplay Systemsvalkor-ai/loom1.2k1 repos~1.4kAutomated safety check: PassApache-2.0

Similar skills

  • Image to Three.js Model

    img2threejs/img2threejs

    Rebuilds the object in a reference image as a procedural, animation-ready Three.js model written entirely in code, using staged sculpting with quality checks.

    18k GitHub starsUsed in 1 repo~8.2k tokens
    Game DevelopmentAuto-check passed
  • Web Clone

    Jane-xiaoer/claude-skill-web-clone

    网站复刻 / 克隆方法论。USE WHEN 用户说 复刻网站、克隆网站、clone website、抄个站、仿站、 照着这个站做一个、reproduce site、还原某个网页效果、把这个站搬下来改成我的、 复刻某个交互/WebGL/Canvas/Three.js 效果。提供「先拿真源码 → 判路径 → 逆向拆解 → 搭工程 → 替换内容」的可移植决策树,覆盖静态站 /…

    1k GitHub starsUsed in 2 repos~2.7k tokens
    Game DevelopmentAuto-check passed
  • Threejs Game Director

    majidmanzarpour/threejs-game-skills

    Entrypoint for building, upgrading, and finishing Three.js browser games.

    2.4k GitHub stars~2.2k tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed
  • Generates game art from text prompts: PNG images, GLB 3D models, rigged characters, animations and sprites, with background removal.

    7.1k GitHub stars~2.8k tokensUpdated 6 days ago
    Game DevelopmentAuto-check passed
  • Build and iterate playable Three.js game systems: starter scaffold, architecture, design briefs, core loops, level and encounter design, entities, input, camera, collision and physics, scoring…

    1.2k GitHub starsUsed in 1 repo~1.4k tokens
    Game DevelopmentAuto-check passed
  • 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

More from Besty0728/Unity-Skills

All 82 skills in this repo
  • Unity Skills

    Besty0728/Unity-Skills

    Automate the Unity Editor through a local REST API — scripts, scenes, prefabs, assets, materials, lighting, tests and hundreds of other Editor operations.

    1.8k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Unity Animator

    Besty0728/Unity-Skills

    Edit Unity Animator Controllers and drive runtime parameters

    1.8k GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Unity Architecture

    Besty0728/Unity-Skills

    Advise on Unity gameplay and system architecture. An agent skill from Besty0728/Unity-Skills.

    1.8k GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Unity Batch

    Besty0728/Unity-Skills

    Unified batch and async-job orchestration. An agent skill from Besty0728/Unity-Skills.

    1.8k GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Unity Behavior

    Besty0728/Unity-Skills

    Drive Unity Behavior behavior graphs and blackboard variables

    1.8k GitHub stars~3k tokensUpdated yesterday
    Auto-check passed
  • Unity Console

    Besty0728/Unity-Skills

    Capture and query the Unity Editor console. An agent skill from Besty0728/Unity-Skills.

    1.8k GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed

Questions about Unity Scene

How do I install Unity Scene in Claude Code?

Run `npx skills add Besty0728/Unity-Skills --skill unity-scene -a claude-code`. Or copy the skill folder (SkillsForUnity/unity-skills~/skills/scene in Besty0728/Unity-Skills) into .claude/skills/unity-scene in your project. Claude Code loads it when a task matches its description.

How do I install Unity Scene in Codex?

Run `npx skills add Besty0728/Unity-Skills --skill unity-scene -a codex`. Or copy the skill folder (SkillsForUnity/unity-skills~/skills/scene in Besty0728/Unity-Skills) into .agents/skills/unity-scene in your project. Codex loads it when a task matches its description.

Can I use Unity Scene 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 Besty0728/Unity-Skills --skill unity-scene -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unity-scene, .gemini/skills/unity-scene, .github/skills/unity-scene and .opencode/skills/unity-scene in your project.

What does Unity Scene need to run?

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

Does Unity Scene 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 Unity Scene 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 Unity Scene use?

Unity Scene 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 Unity Scene use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Unity Scene?

Skills that share tags, products or a category with Unity Scene: Image to Three.js Model (img2threejs/img2threejs, 18k stars), Web Clone (Jane-xiaoer/claude-skill-web-clone, 1k stars), Threejs Game Director (majidmanzarpour/threejs-game-skills, 2.4k stars) and Game Asset Generator (htdt/godogen, 7.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unity Scene?

Besty0728 (a GitHub user) maintains it in Besty0728/Unity-Skills, which has 1,815 GitHub stars. The repository holds 82 skills in this directory. The repository was last updated on October 7, 2026.

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