unity-script-roles

Plan Unity script roles to prevent MonoBehaviour overuse and clarify class responsibilities.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/mandexonla/Top-Down-Template --skill unity-script-roles-mandexonla
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: unity-script-roles
Source: https://github.com/mandexonla/Top-Down-Template/tree/main/.codex/skills/unity-skills/skills/script-roles
Command: npx skills add https://github.com/mandexonla/Top-Down-Template --skill unity-script-roles-mandexonla

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Unity projects often suffer from unclear ownership of scripts, leading to overuse of MonoBehaviour and tangled architectures. This skill provides a structured way to define explicit script roles (MonoBehaviour, ScriptableObject, pure C# services, installer) so development becomes more maintainable.

Core Features & Use Cases

  • Role classification: assign each script to a canonical role (e.g., MonoBehaviour bridge, ScriptableObject config, pure C# domain/service, presenter/controller, state node, installer).
  • Architecture guidance: recommendations on when to use each role to avoid mono-behavior overuse and keep concerns separated.
  • Output structure: a clear format (script name, recommended role, main responsibility, main dependencies, justification) to drive implementation.

Quick Start

Provide a mapped set of script roles for your Unity project to assign responsibilities and avoid treating every class as MonoBehaviour.

Frequently Asked Questions about unity-script-roles

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

FAQPage Schema
How do I stop overusing MonoBehaviour in my Unity project architecture?▼

Avoid MonoBehaviour overuse by assigning each Unity script a canonical role such as pure C# service, ScriptableObject config, or installer. This classification clarifies main responsibilities and dependencies, keeping your architecture clean and maintainable by reserving MonoBehaviour for necessary bridge components.

When should I use ScriptableObject versus a pure C# class in Unity?▼

Use ScriptableObject for configuration data and pure C# classes for domain services. Planning Unity script roles provides architecture guidance on when to apply each type, ensuring data-driven design remains separate from core logic.

What is the best way to plan class responsibilities for a Unity project?▼

Plan Unity class responsibilities by mapping each script to a canonical role like presenter, state node, or installer. This produces a structured output detailing the script name, recommended role, main responsibility, main dependencies, and justification to drive clean implementation.

How do I structure Unity scripts to separate domain logic from presentation?▼

Separate Unity domain logic from presentation by classifying scripts as pure C# services for domain rules and presenters or MonoBehaviour bridges for UI. This role-based planning ensures clear ownership and prevents tangled dependencies.

Can I use pure C# services without MonoBehaviour in Unity?▼

Yes, pure C# services can operate without MonoBehaviour by assigning them the domain or service role during architecture planning. This role-based classification clarifies main dependencies and prevents unnecessary MonoBehaviour inheritance.