About unity-script-roles
unity-script-roles is a documentation skill for assigning responsibilities to Unity script types before generating gameplay scripts. It helps distinguish MonoBehaviour bridges, data/config objects, and plain C# services rather than defaulting every class to MonoBehaviour.
Key features
- 01Assigning roles to planned scripts
- 02Choosing between MonoBehaviour and plain C#
- 03Using ScriptableObject for config and data
- 04Mapping responsibilities and dependencies
- 05Comparing role alternatives
Use cases
- 01Planning a batch of gameplay scripts
- 02Splitting responsibilities across classes
- 03Choosing a type for a new script
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ besty0728/ unity-skills --skill unity-script-rolesAfter installing, type/unity-script-rolesin Claude Code to confirm it loaded.
Details
From the project READMEBefore 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
- Deciding a class's role
- Splitting responsibilities across types
- Choosing between MonoBehaviour and plain C#
- 确定类的职责、在类型间拆分职责、在 MonoBehaviour 与纯 C# 间抉择
Unity Script Roles
Use this skill before creating a batch of gameplay scripts.
Goal
Turn a rough script list into explicit roles so AI does not generate everything as MonoBehaviour.
Output Format
- Script name
- Recommended role
- Main responsibility
- Main dependencies
- Why this role fits better than the alternatives
Common Roles
MonoBehaviourbridgeScriptableObjectconfig/data- pure C# domain/service
- presenter / controller
- state / state machine node
- installer / bootstrap helper
Guardrails
Mode: Documentation only — no REST skills to gate; load freely under any operating mode (Approval / Auto / Bypass).
- Do not make every class a
MonoBehaviour. - Do not force
ScriptableObjectonto runtime state that should stay in memory-only objects.