Agent skill

Scenario Unity Architecture

by scenario-labs in scenario-labs/skills

A skill your agent uses when structuring Unity 6.3 C code: ScriptableObject data vs runtime state, events and services, inventory, health, save and load, Input System actions and key rebinding…

MITAuto-check passedGame Development

Install Scenario Unity Architecture

skills CLI
$ npx skills add scenario-labs/skills --skill scenario-unity-architecture -a claude-code

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

GitHub CLI
$ gh skill install scenario-labs/skills scenario-unity-architecture --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/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/game-engines/unity/scenario-unity-architecture .claude/skills/scenario-unity-architecture && 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
scenario-unity-architecture
GitHub stars
946
Token cost
~4.7k tokens
SKILL.md length
2,024 words
Files
70 (incl. scripts, references)
Skills in repo
146
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when structuring Unity 6.3 C code: ScriptableObject data vs runtime state, events and services, inventory, health, save and load, Input System actions and key rebinding…

  • Works in 7 steps: ScriptableObjects are definitions, never… → Read Enter Play Mode before trusting any… → Every await has an owner. Awaits survive… → …
  • Structuring Unity 6.3 C code: ScriptableObject data vs runtime state
  • SKILL.md covers Stance (the expert delta), Establish first, Workflow and Numbers, plus 5 more sections
  • Runs C# scripts from its folder; calls npx

What it does

Scenario Unity Architecture is an agent skill from scenario-labs/skills. Use when structuring Unity 6.3 C code: ScriptableObject data vs runtime state, events and services, inventory, health, save and load, Input System actions and key rebinding, async with Awaitable, assembly definitions, Enter Play Mode and domain reload, .meta files, Git, Smart Merge and LFS. Also when 'my save works in the Editor but not in the build', statics keep values on the second Play, events fire twice or never, an await runs after its object died, rebinds are lost on relaunch, a renamed class loses its…

Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 75 other files, including scripts and reference files (for example `references/critique.md`, `references/expert-notes.md` and `references/gui-paths.md`).

It sits in Game Development, covering Game development. It works with C# and Git. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.

When your agent uses it

  • Structuring Unity 6.3 C code: ScriptableObject data vs runtime state
  • Events and services
  • Input System actions and key rebinding
  • Async with Awaitable

Example prompts

  • “my save works in the Editor but not in the build”
  • “/scenario-unity-architecture”

Requirements

  • Node.js

Workflow steps

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

  1. ScriptableObjects are definitions, never saves. Play-mode writes to an SO persist in the Editor and reset on every launch of a build (Code…
  2. Read Enter Play Mode before trusting any Play test. With domain reload off (an option in 6.3, the default for new 6.6 projects) a static…
  3. Every await has an owner. Awaits survive Destroy and Play exit (Unity, eXkFPoEp3BA [00:13:28]): a token-less loop ticked 13 to 14 more…
  4. Designers wire, code decides. Serialized SO references are the injector designers can see (Hipple [00:14:39]). Channels decouple sender…
  5. Rebinding is a state machine with six traps. The action must be disabled (the package throws otherwise); Escape does not cancel a Button…
  6. Assemblies are a contract. A Core with noEngineReferences holds rules testable in milliseconds; runtime asmdefs never reference editor…
  7. Serialized data survives refactors and merges only on purpose. [FormerlySerializedAs] for fields, [MovedFrom] for renamed…

What it can do on your machine

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

    Ships 9 files in scripts/ (C#, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    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

Scenario Unity Architecture loads about 4.7k tokens when it runs, and up to ~30k if it reads all its reference files. Until then it costs about 143 tokens; SKILL.md has 2,024 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~143
When it runs · the whole SKILL.md, loaded when a task matches
~4.7k
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); the scripts in this folder are not scanned.

SKILL.md

The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 2,024 words, ~4,733 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-unity-architecture/SKILL.md (or your agent's skills folder). This skill also uses 69 other files; get the full folder from GitHub.
name
scenario-unity-architecture
description
Use when structuring Unity 6.3 C# code: ScriptableObject data vs runtime state, events and services, inventory, health, save and load, Input System actions and key rebinding, async with Awaitable, assembly definitions, Enter Play Mode and domain reload, .meta files, Git, Smart Merge and LFS. Also when 'my save works in the Editor but not in the build', statics keep values on the second Play, events fire twice or never, an await runs after its object died, rebinds are lost on relaunch, a renamed class loses its data, a scene merge breaks.
license
MIT

Unity architecture (gameplay programmer / architect)

Expert architecture in Unity is judged by what survives the edges: the second Play session, a destroyed object mid-await, a relaunch of the built player, a class rename, a merge of two branches, a prefab dropped into an empty scene. Data lives in assets, state lives in plain C# and files, systems talk through events they do not own, and every claim is pinned by a test the agent can run without a mouse. Target: Unity 6000.3.21f1, Input System 1.20.0, Test Framework 1.6.0, macOS. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

REQUIRED BACKGROUND: scenario-unity-expert (channels, review loop, 6.3 traps). Toolkit: ut_env, ut_run, ut_live plus this skill's scripts/ut_arch.py, scripts/AgentKit/Architecture/ jobs and scripts/templates/ (a tested Game.Core / Game.Runtime / Game.Editor / tests layout).

Status (2026-09-24): every procedure ran in Unity 6000.3.21f1 on this Mac: tests/code/unity-architecture/run_all.sh --live (results in archive/tests/unity-architecture/live_results.jsonl).

Stance (the expert delta)

  1. ScriptableObjects are definitions, never saves. Play-mode writes to an SO persist in the Editor and reset on every launch of a build (Code Monkey, 5a-ztc5gcFw [00:04:17]). Observed sharper: the write lives only in Editor memory (IsDirty false, the .asset unchanged even after SaveAssets), so a file hash never sees it; only an in-memory guard in the process that plays does (so_guard, the prefab SO test). A macOS player run twice started from the baked value while the save FILE carried over. Runtime modifiers apply to a struct copy (config.Stats, Tarodev, tE1qH8OxO2Y [00:11:18]); live registries are runtime sets, never scene searches (Hipple, raQ3iHhE_Kk [00:40:06]). Saves: versioned JSON of ids, atomic write, backup, migrations.
  2. Read Enter Play Mode before trusting any Play test. With domain reload off (an option in 6.3, the default for new 6.6 projects) a static counter read 2 and a static event had 2 subscribers on the second Play (observed). Unregister static handlers on ExitingPlayMode (the Manual's best practice; observed clean on its own) and reset values at SubsystemRegistration; DoublePlay proves both. Scene reload off makes Editor startup unrepresentative, and a script change still reloads the domain (6.3 Manual).
  3. Every await has an owner. Awaits survive Destroy and Play exit (Unity, eXkFPoEp3BA [00:13:28]): a token-less loop ticked 13 to 14 more times in the 0.3 s after Destroy (observed). MonoBehaviours pass destroyCancellationToken (Lifetime.Linked(this) when IO must also stop at exit); plain C# services pass Application.exitCancellationToken. Never await an Awaitable twice (pooled: AsTask()), never block on a Task. Release players skip the main-thread check: off the main thread a development player threw on persistentDataPath, Time.time, transform and new GameObject, the release player threw nothing (observed). Smoke-test threading in a development build.
  4. Designers wire, code decides. Serialized SO references are the injector designers can see (Hipple [00:14:39]). Channels decouple sender and receivers, iterate listeners backwards ([00:33:23]) and ship a debug plan: counts, a log toggle, RaiseDebug() from a job, an inspector button ([00:36:07]). UnityEvent is a serialized function call ([00:29:26]): rare designer-wired responses only (0 B per invoke measured on 6.3, but targets are hard references resolved by method name). One composition root runs first ([DefaultExecutionOrder(-1000)], git-amend, PJcBJ60C970 [00:12:01]; without it a consumer found nothing, observed) and fails loudly. Each prefab runs alone in an empty scene ([00:16:29]). Statics suit a small solo project only (Weimann, hQE8lQk9ikE [00:01:28]; Tarodev [00:03:00]), with resets. Enums only for sets fixed "by some law"; categories designers extend become SO assets ([00:46:39]).
  5. Rebinding is a state machine with six traps. The action must be disabled (the package throws otherwise); Escape does not cancel a Button rebind by default; a composite head cannot be rebound; duplicates are judged on effectivePath, composite parts only against earlier parts, modifier combos per shortcutKeysConsumeInput (off by default: Shift+B also fires B); Reset All deletes the persisted overrides; LoadBindingOverridesFromJson wipes existing overrides unless passed false (samyam, csqVa2Vimao [00:12:51], [00:27:44], [00:33:22]; 1.20 manual; all tested). For the UI, start from the Rebinding UI sample: in 1.20 it already disables and disposes but lacks four fixes (ut_arch.rebind_audit). Each new of a generated input class is a separate asset: share one.
  6. Assemblies are a contract. A Core with noEngineReferences holds rules testable in milliseconds; runtime asmdefs never reference editor ones (the Editor compiles it, the player build fails, observed). Test asmdefs reference Unity.InputSystem.TestFramework; testables was not needed on 6000.3.21f1 (observed).
  7. Serialized data survives refactors and merges only on purpose. [FormerlySerializedAs] for fields, [MovedFrom] for renamed [SerializeReference] classes (without it the entry loaded as null, observed), [Serializable] on every [SerializeReference] type (6.3 tolerated its absence; 6.4 requires it per the version notes). UnityYAMLMerge exits 2 on any conflicted field even with -l/-r, and without them writes the BASE value (observed): check the exit code, then open the result in Unity.

Establish first

Team shape (who wires behavior: designers or programmers), project lifetime, target platforms (Web has no managed threads), Enter Play Mode setting, input devices (keyboard-mouse, gamepad, touch, local multiplayer) and modifier shortcuts, save needs (slots, cloud, migrations), VCS (Git + LFS by default). Defaults: project-wide actions, Game.Core/Runtime/Editor/Tests asmdefs, SO definitions + plain C# state, event channels between systems, runtime sets for registries, one GameRoot, JSON saves under persistentDataPath, Git with the UnityYAMLMerge driver. Run ArchJobs.ProjectFacts and write its answers into the plan.

Workflow

  1. Scaffold and compile. Goal: rules in pure C#. How: ut_arch.install(P), ut_arch.scaffold(P) (A1), then ArchJobs.ProjectFacts (Unity -batchmode -nographics -quit -executeMethod AgentKit.Architecture.ArchJobs.ProjectFacts). GATE: zero compile errors and warnings; ArchJobs.AssemblyGraph: Game.Core engine_refs == 0, violations == [].
  2. Data as assets. Goal: definitions designers edit. How: ArchJobs.CreateAssets with ut_arch.item_specs() (SerializedObject edits, managed_refs for [SerializeReference] lists, SetDirty only on change) (A2, A13). GATE: second run all unchanged; ItemDatabaseValidator clean.
  3. Core systems with tests. Goal: inventory, health, events, sets. How: templates; ut_run.run_tests(P, "EditMode", assemblies="Game.Tests.EditMode"). GATE: all pass; ut_arch.code_lint no warn or error in runtime code (A10).
  4. Save and load. Goal: state that survives relaunch. How: SaveService (A3). GATE: EditMode round trip, corrupt-file fallback, v1 migration; CrossProcessSave across two editor processes; a player run twice for persistence claims (A4); a development player when saves touch threads (A12).
  5. Input. Goal: every device, rebinding that persists and resets. How: project-wide actions, InputContext, RebindFlow, BindingStore, .inputactions edited as JSON; ArchInputAudit.Audit (A5, A15). GATE: InputTestFixture tests per trap; audit without missing_scheme or duplicate_binding; rebind_audit missing nothing.
  6. Async and lifecycle. Goal: no orphan work. How: async Awaitable Start() with a token, AsTask, PlayMode suite; async tests as a [UnityTest] returning the inner Awaitable, or async Task (A6, A7, A14). GATE: no tick after Destroy; prefab isolation and prefab SO guard pass.
  7. Play-mode hardening. Goal: session 2 equals session 1, events reach responses. How: ArchJobs.StaticStateAudit, then ArchPlayMode.DoublePlay with so_guard and invoke (RaiseDebug on each channel) in the project's mode (A8, A11). GATE: no arch.static_without_reset in own assemblies; watched values equal across sessions; so_changed_in_memory == []; every invoke ok with its response counted.
  8. Version control. Goal: merges and moves never break references. How: ArchJobs.SetVcsSettings, ut_arch.write_vcs_files, git_setup_unity_merge, meta_audit, yaml_merge, then ArchJobs.InspectAsset (A9). GATE: meta_audit.ok; .meta not in LFS; clean merges exit 0 and deserialize; conflicts stay unmerged with a report.
  9. Hand off with evidence (scenario-unity-expert report format): Unity call per step, Verified, Assumed.
Show full SKILL.md (829 more words)Show less

Numbers

ValueRelative toSource
11 to 13 sone batch job on this project (editor boot included)observed
about 11 s / 16 sEditMode suite (33 tests) / PlayMode suite (17 tests), final runobserved
13 to 14 tickstoken-less 0.02 s Awaitable loop in the 0.3 s after Destroyobserved
2 / 2static counter / static event subscribers in Play session 2, domain reload offobserved
4 of 6 / 0 of 6Unity calls that threw off the main thread in a development / release macOS playerobserved
0 Bheap growth over 10,000 channel raises or persistent UnityEvent invokes after warm-upobserved
about 37,000 to 61,000 fpsbatch -nographics Play mode (uncapped): wait on time, not framesobserved
0.05 s; falsePerformInteractiveRebinding OnMatchWaitForAnother; shortcutKeysConsumeInput defaultpackage source 1.20; observed
next Update (33 ms at 30 fps)Task continuation started on the main thread6.3 Manual
about 500 KBbinary size above which Git LFS paysPettersen 2016
exit 0 / 2UnityYAMLMerge clean / any conflicted field (also with -l, -r)observed
114.7 MB / 311.2 MBmacOS Mono release / development player of a probe sceneobserved

Quality gates

  • Measurable: zero compile errors and warnings; AssemblyGraph.violations == []; EditMode and PlayMode failed == 0 in the full suite, not only single tests; code_lint no warn or error in runtime code; so_guard and the prefab SO test clean (SnapshotAssets changed_on_disk == [] only proves editor tools saved nothing); StaticStateAudit clean; DoublePlay sessions equal; ArchInputAudit warn 0; rebind_audit complete; meta_audit.ok; merge exit codes checked; player relaunch report (A4) and development-player report (A12) when persistence or threads are claimed.
  • Visual (few): after a scene merge, a camera capture before and after (scenario-unity-expert AgentCapture); a rebinding screen shows the new binding text (scenario-unity-ui).

Common mistakes

MistakeWhat it looks likeFix
save stored in an SOworks in the Editor, lost after relaunch of the buildSaveService file; SO read-only (A3, A4)
SO guard by file hashpasses while Play writes an SOso_guard / prefab SO test in the playing process (A11)
session state in an unreferenced SOvalue back to baked after a scene load, in the buildkeep it referenced or hold it in C#
statics with domain reload offsecond Play starts at 2, handler runs twiceExitingPlayMode unregister + SubsystemRegistration reset
await without tokenlogic runs after the object died or Play endeddestroyCancellationToken, Lifetime.App for services
awaiting an Awaitable twiceexception or hangAsTask() once
threads checked in a release build onlyfine now, undefined laterdevelopment player smoke test (A12)
listeners iterated forwarda self-removing response skips the nextiterate backwards
composition root without execution ordera consumer's Awake finds no service[DefaultExecutionOrder(-1000)]
rebinding an enabled actionInvalidOperationExceptionRebindFlow disables, re-enables on complete and cancel
Button rebind without WithCancelingThroughEscape becomes the binding.WithCancelingThrough("<Keyboard>/escape")
Reset All keeps the file; loads not layeredold rebinds return; earlier overrides vanishBindingStore.ResetAll; Load(..., removeExisting: false)
InputSystem.actions in tests or with PlayerInputnull after fixture tests; pairing breaksEditorBuildSettings.TryGetConfigObject(...); playerInput.actions
a generated input class per consumera rebind shows on one screen onlyone shared instance
runtime asmdef references editor asmdefEditor fine, player build failsAssemblyGraph explicit-reference check
class renamed behind [SerializeReference]entries load as null[MovedFrom] in the same change
trusting a merge outputconflicted field silently back to basecheck exit 2, resolve, InspectAsset

Handoffs

  • Receives from scenario-unity-expert: brief, channel, project facts. From scenario-unity-gameplay: which systems need health, damage, state machines (the FSM pattern lives there).
  • Delivers to scenario-unity-ui: RebindFlow, BindingStore, InputContext, channels (with RaiseDebug) for HUD and settings screens, with tests. To scenario-unity-gameplay: IDamageable, Health, Services, GameRoot, runtime sets. To scenario-unity-pipeline-automation: asmdef layout, run_tests(..., assemblies=...), development builds, .gitignore/.gitattributes, merge driver. To scenario-unity-performance: GC per frame (scenario-unity-expert AgentProfile), per-object Awaitable loops. To scenario-unity-web: no managed threads (SaveAsync stays synchronous, no Task.Delay). To scenario-unity-mobile: touch schemes, persistentDataPath. Packet: files written, tests with totals, audits with counts, Verified and Assumed.

Unity 6.3 notes

  • Enter Play Mode is a dropdown ("When entering Play Mode"); 6.6 new projects default to "Reload Scene only"; 6.5 adds code lifecycle attributes and AutoStaticsCleanup.
  • FindObjectsByType<T>(FindObjectsSortMode.None) (the sort mode is obsolete from 6.4); [SerializeField] only on fields; GetInstanceID becomes a compile error in 6.5 (EntityId); [SerializeReference] types must be [Serializable] from 6.4 (version notes, unverified there).
  • Templates run the Input System only (legacy Input.* throws); Input System 1.20 bundled; OnMouseDown works with it only from 6.4.
  • Object.Destroy: verified live on 6000.3.21f1 (LifecycleTests, 2026-09-24) that OnDisable reaches every descendant (four levels); the 6.4 upgrade guide and the version notes describe pre-6.4 editors as "only direct children", so keep the idempotent OnDestroy unregistration for older editors.
  • Force Text and Visible Meta Files are the 6.3 defaults (observed); 6.6 turns YAML word wrap off and removes "Reduce Version Control Noise".

References

© scenario-labs, 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 69 other files (scripts, references) in skills/game-engines/unity/scenario-unity-architecture of scenario-labs/skills.

  • SKILL.md
  • references/critique.md
  • references/expert-notes.md
  • references/gui-paths.md
  • references/procedures.md
  • references/sources.md
  • scripts/AgentKit/Architecture/ArchInputAudit.cs
  • scripts/AgentKit/Architecture/ArchJobs.cs
  • scripts/AgentKit/Architecture/ArchPlayMode.cs
  • scripts/templates/Core/Game.Core.asmdef
  • scripts/templates/Core/HealthModel.cs
  • scripts/templates/Core/HealthStats.cs
  • scripts/templates/Core/Inventory.cs
  • scripts/templates/Core/SaveData.cs
  • scripts/templates/Editor
  • … and 55 more

Open the folder on GitHubat commit f6f8ab7

Compare with similar skills

Scenario Unity Architecture 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.

Scenario Unity Architecture compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Unity Architecture this skillscenario-labs/skills946—~4.7kAutomated safety check: PassMIT
Validate GsdkPlayFab/gsdk170—~645Automated safety check: PassApache-2.0
Unity PluginTomLeeLive/openclaw-unity-plugin107—~5.1kAutomated safety check: PassApache-2.0
Godot 2D Essentialsjame581/GodotPrompter805—~2.3kAutomated safety check: PassMIT
Godot Admob App Openpoingstudios/godot-admob-plugin632—~1kAutomated safety check: PassMIT
Package AddIvanMurzak/Unity-MCP4.4k—~665Automated safety check: PassApache-2.0

Similar skills

  • 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
  • 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
  • Godot 2D Essentials

    jame581/GodotPrompter

    Covers Godot 4.3+ 2D systems with GDScript and C# examples: canvas layers, draw order, TileMaps, parallax, lights and shadows, particles and custom drawing.

    805 GitHub stars~2.3k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Godot Admob App Open

    poingstudios/godot-admob-plugin

    Provides instructions to implement, load, show, and destroy App Open ads (shown on application startup or app resume) in GDScript and C.

    632 GitHub stars~1k tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed
  • Package Add

    IvanMurzak/Unity-MCP

    Install a Unity package from the registry, a Git URL, or a local path.

    4.4k GitHub stars~665 tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Godot 3D Essentials

    jame581/GodotPrompter

    Covers Godot 4.3+ 3D systems such as materials, lighting, shadows, environment, global illumination, fog, LOD, occlusion culling and decals, with GDScript first and C# second.

    805 GitHub stars~3.7k tokensUpdated yesterday
    Game DevelopmentAuto-check passed

More from scenario-labs/skills

All 146 skills in this repo
  • Scenario Blender Grease Pencil

    scenario-labs/skills

    A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…

    946 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Blender Hair

    scenario-labs/skills

    A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…

    946 GitHub stars~5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Chatgpt Pet Create

    scenario-labs/skills

    A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…

    946 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Animation

    scenario-labs/skills

    A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Audio

    scenario-labs/skills

    A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Scenario Unity Architecture

What does Scenario Unity Architecture do?

A skill your agent uses when structuring Unity 6.3 C code: ScriptableObject data vs runtime state, events and services, inventory, health, save and load, Input System actions and key rebinding…. Scenario Unity Architecture is an agent skill from scenario-labs/skills.meta files, Git, Smart Merge and LFS.

When should I use Scenario Unity Architecture?

Scenario Unity Architecture fits situations like: structuring Unity 6.3 C code: ScriptableObject data vs runtime state; events and services; input System actions and key rebinding; async with Awaitable.

How do I install Scenario Unity Architecture in Claude Code?

Run `npx skills add scenario-labs/skills --skill scenario-unity-architecture -a claude-code`. Or copy the skill folder (skills/game-engines/unity/scenario-unity-architecture in scenario-labs/skills) into .claude/skills/scenario-unity-architecture in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Unity Architecture in Codex?

Run `npx skills add scenario-labs/skills --skill scenario-unity-architecture -a codex`. Or copy the skill folder (skills/game-engines/unity/scenario-unity-architecture in scenario-labs/skills) into .agents/skills/scenario-unity-architecture in your project. Codex loads it when a task matches its description.

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

What does Scenario Unity Architecture need to run?

Going by SKILL.md and its folder, Scenario Unity Architecture needs C# for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Scenario Unity Architecture access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Scenario Unity Architecture 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scenario Unity Architecture use?

Scenario Unity Architecture is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Unity Architecture use?

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

What are the alternatives to Scenario Unity Architecture?

Skills that share tags, products or a category with Scenario Unity Architecture: Validate Gsdk (PlayFab/gsdk, 170 stars), Unity Plugin (TomLeeLive/openclaw-unity-plugin, 107 stars), Godot 2D Essentials (jame581/GodotPrompter, 805 stars) and Godot Admob App Open (poingstudios/godot-admob-plugin, 632 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scenario Unity Architecture?

scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.

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