Agent skill · Data & Analytics

unity-scriptableobjects

Architect Unity 6 data and decoupling with ScriptableObjects: config/data assets, shared runtime variables, event channels, and runtime sets/registries. Use when designing data-driven systems, replacing singletons/managers, creating .asset data with CreateAssetMenu, or when the user mentions ScriptableObject, SO architecture, or data assets.

gamedev-skillsgithub.com/gamedev-skillsGitHub ↗
claude-codeclinecodexcursorcopilotwindsurfApache-2.0
Install
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unity-scriptableobjects --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 6 KB
Bundled scripts: none
Requires: Unity 6 (6000.0 LTS); UnityEngine.ScriptableObject
Path: skills/unity/unity-scriptableobjects/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 406
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Unity ScriptableObject Architecture Use `ScriptableObject` assets to store shared data and decouple systems in Unity 6 — configuration, event channels, and registries that live as project assets instead of being hard-wired into scenes or singletons. Targets **Unity 6 (6000.0 LTS)**. ## When to use - Use when you need designer-editable config (weapon stats, level data), to share one value between unrelated systems, to decouple senders from listeners via event channels, or to build a runtime registry of active objects — without a `static`/singleton manager. - Use when the project has `*.asset` data files backed by `: ScriptableObject` classes. **When _not_ to use:** per-instance runtime state that differs per GameObject (that belongs on a MonoBehaviour) — a ScriptableObject asset is _shared_ by everyone who references it. Saving player progress to disk → `save-systems`. Plain DTOs that never need to be an asset can just be `[System.Serializable]` classes. ## Core workflow 1. **Define the class** deriving from `ScriptableObject` and tag it with `[CreateAssetMenu]` so designers can create instances from the Assets menu. 2. **Create one or more `.asset` instances** in the Project wind

What's inside
Steps it walks through
  1. When to use
  2. Core workflow
  3. Patterns
  4. 1. Config/data asset
  5. 2. Shared runtime variable (decouples producer from consumer)
  6. 3. Creating an instance at runtime (not an asset on disk)
  7. Pitfalls
  8. References
  9. Related skills
Ships with 1 file
  • references/event-channels.md
More from awesome-gamedev-agent-skills
All skills →
About this skill
What does the unity-scriptableobjects skill do?

Architect Unity 6 data and decoupling with ScriptableObjects: config/data assets, shared runtime variables, event channels, and runtime sets/registries. Use when designing data-driven systems, replacing singletons/managers, creating .asset data with CreateAssetMenu, or when the user mentions ScriptableObject, SO architecture, or data assets.

How do I install it?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unity-scriptableobjects --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From gamedev-skills/awesome-gamedev-agent-skills, a repository with 406 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going