agency-unity-architect

Refactor Unity projects into ScriptableObject-driven, decoupled architectures.

Updated Apr 11, 2026
One-click install
npx skills add https://github.com/omeraltn/ice_cream_website_testing --skill agency-unity-architect-omeraltn
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: agency-unity-architect
Source: https://github.com/omeraltn/ice_cream_website_testing/tree/main/.antigravity/agency-unity-architect
Command: npx skills add https://github.com/omeraltn/ice_cream_website_testing --skill agency-unity-architect-omeraltn

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates monolithic, tightly-coupled Unity code by replacing fragile singletons, scene-dependent references, and God classes with explicit, designer-friendly data assets and event-driven wiring.

Core Features & Use Cases

  • ScriptableObject-first patterns: define shared state as SO variables, event channels, and RuntimeSets to avoid GetComponent, FindObjectOfType, and static singletons.
  • Single-responsibility component decomposition: break large MonoBehaviours into focused components that are wired via inspector-assigned SO assets and validate prefab independence.
  • Editor tooling & designer workflows: add CustomPropertyDrawers, CreateAssetMenu-friendly SOs, and Editor validation to empower non-programmers and prevent serialization/scene-transition bugs.
  • Use Case: Refactor a legacy Unity project that relies on manager singletons into an SO-driven architecture so designers can tweak gameplay without touching code and scenes can be loaded cleanly.

Quick Start

Ask UnityArchitect to audit my Unity project for God classes, singletons, and scene coupling and produce a prioritized ScriptableObject-based refactor plan.

Frequently Asked Questions about agency-unity-architect

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

FAQPage Schema
How do I decouple Unity MonoBehaviours and remove manager singletons?

To decouple Unity MonoBehaviours, replace singletons and FindObjectOfType with ScriptableObject variables and event channels. This creates data-driven wiring where components communicate through inspector-assigned assets, eliminating tight coupling and God-class architecture.

What is a ScriptableObject event channel in Unity used for?

A ScriptableObject event channel in Unity is a data asset that enables cross-system messaging without direct references. Systems subscribe to and raise events through this shared asset, allowing prefab independence and clean scene loading without scene-dependent references.

How to refactor a Unity project to use ScriptableObject architecture?

Refactor a Unity project by auditing for God classes and singletons, then defining shared state as ScriptableObject variables, event channels, and RuntimeSets. Break large MonoBehaviours into single-responsibility components wired via inspector-assigned SO assets.

Can I use RuntimeSets and ScriptableObjects for designer workflows in Unity?

Yes, you can use RuntimeSets and ScriptableObjects for designer workflows in Unity. Add CustomPropertyDrawers, CreateAssetMenu-friendly SOs, and Editor validation to empower non-programmers to tweak gameplay without touching code or scene references.

Why does my Unity project have serialization bugs during scene transitions?

Serialization bugs during Unity scene transitions often stem from scene-dependent references and static singletons. Replacing these fragile references with ScriptableObject variables and event channels ensures data persists and wires cleanly across loaded scenes.