unity-script-roles

Assigns architectural roles to Unity gameplay scripts before code generation.

Updated Aug 18, 2026
One-click install
npx skills add https://github.com/ethanJPope/Our-Main-Hackathon-Game --skill unity-script-roles-ethanjpope
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-script-roles
Source: https://github.com/ethanJPope/Our-Main-Hackathon-Game/tree/main/.agents/skills/unity-skills/skills/script-roles
Command: npx skills add https://github.com/ethanJPope/Our-Main-Hackathon-Game --skill unity-script-roles-ethanjpope

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When generating a batch of Unity gameplay scripts, AI tends to make every class a MonoBehaviour, producing tangled, hard-to-maintain code. This Skill turns a rough script list into explicit role assignments so each class gets the right architectural type. ## Core Features & Use Cases - Role Assignment: Recommends roles such as MonoBehaviour bridge, ScriptableObject config/data, pure C# domain/service, presenter/controller, state machine node, or installer/bootstrap helper. - Structured Output: For each script it reports the recommended role, main responsibility, main dependencies, and why that role fits better than alternatives. - Use Case: Before creating a batch of gameplay scripts, run this Skill on your script list to decide which classes should be MonoBehaviours, which should be ScriptableObjects, and which should stay as plain C# objects. ## Quick Start Ask the AI to review your planned Unity script list and assign an appropriate role to each class before generating any code.

Frequently Asked Questions about unity-script-roles

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

FAQPage Schema
How do I decide between MonoBehaviour and plain C# in Unity?

Use MonoBehaviour only for classes that need Unity lifecycle callbacks or scene attachment. Domain logic, services, and state that do not touch the engine should stay as plain C# classes for better testability and separation.

When should I use ScriptableObject in Unity?

Use ScriptableObject for configuration and shared data assets that benefit from editor serialization. Do not force it onto runtime state that should remain in memory-only objects, as the Skill's guardrails explicitly warn against this.

How do I split responsibilities across Unity script types?

List your planned scripts and assign each a role such as MonoBehaviour bridge, presenter/controller, state machine node, or installer. The Skill outputs each script's main responsibility, dependencies, and rationale for the chosen role.

Why should not every Unity class be a MonoBehaviour?

Making every class a MonoBehaviour couples logic to the Unity engine, complicates testing, and bloats the scene graph. Pure C# classes handle domain and service logic without lifecycle overhead.

Does this skill generate Unity scripts automatically?

No, it is documentation-only guidance used before generating scripts. It produces role recommendations and rationale, not actual C# code, and can be loaded freely under any operating mode.