unity-script-roles

Assign Unity script roles among MonoBehaviour, ScriptableObject, pure C# service, or installer.

6|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/dyCuong03/unity-agent-team --skill unity-script-roles-dycuong03
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-script-roles
Source: https://github.com/dyCuong03/unity-agent-team/tree/main/.claude/skills/unity-skills/skills/script-roles
Command: npx skills add https://github.com/dyCuong03/unity-agent-team --skill unity-script-roles-dycuong03

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents AI from dumping everything into Unity components by helping you explicitly decide which classes should be MonoBehaviours, ScriptableObjects, pure C# services, or installers based on responsibility.

Core Features & Use Cases

  • Role planning from a rough script list: transforms an unstructured list of scripts into explicit class responsibilities and dependencies.
  • Correct Unity architecture guidance: recommends when to use runtime component bridges (MonoBehaviour), data/config containers (ScriptableObject), and non-Unity domain/services.
  • Practical alignment for gameplay systems: supports designing presenters/controllers, state machine nodes, and bootstrap/installer helpers so responsibilities don’t blur.

Quick Start

Use the unity-script-roles skill to classify each script in your planned gameplay list into the most appropriate Unity/C# role with clear responsibilities and dependencies.

Frequently Asked Questions about unity-script-roles

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I assign class responsibilities in Unity to avoid overusing MonoBehaviour?

To assign class responsibilities in Unity, transform your rough script list into explicit roles like MonoBehaviour, ScriptableObject, pure C# service, or installer. This prevents dumping everything into Unity components by aligning each class with its correct architectural responsibility.

When should I use ScriptableObject instead of MonoBehaviour for my gameplay systems?

Use ScriptableObject instead of MonoBehaviour when a class functions as a data or config container. MonoBehaviour should be reserved for runtime component bridges, while non-Unity domain logic moves to pure C# services to keep responsibilities clear.

What is the best way to plan Unity script roles for a gameplay system refactor?

The best way to plan Unity script roles for a refactor is to evaluate each script's main responsibility and dependencies. Assign MonoBehaviour, ScriptableObject, service, or installer roles based on architectural guardrails to ensure presenters and state machine nodes do not blur.

Can I use pure C# services with Unity gameplay scripts without MonoBehaviour?

Yes, you can use pure C# services with Unity gameplay scripts without MonoBehaviour. Designating non-Unity domain services separates logic from components, using MonoBehaviours only as runtime bridges and installers for bootstrap helpers.

Why does my Unity architecture blur responsibilities between presenters and state machine nodes?

Unity architecture blurs responsibilities when scripts lack explicit role assignments. Without separating MonoBehaviours, ScriptableObjects, and pure C# services, presenters and state machine nodes absorb overlapping dependencies and logic.

Does this Unity script role planning work for bootstrap and installer helpers?

Yes, this Unity script role planning works for bootstrap and installer helpers. It evaluates rough script lists and assigns explicit installer roles, ensuring bootstrap logic remains distinct from runtime component bridges and domain services.