Unity
Interface wrappers that mirror Unity's core object hierarchy (Object, Component, Behaviour, MonoBehaviour, ScriptableObject). These interfaces allow Paragon systems to reference Unity types through contracts rather than concrete classes, enabling interface-based programming, mocking, and composition patterns that Unity's sealed class hierarchy does not support natively.
Architecture
Data Flow
Interface Hierarchy
Design Purpose
Unity's MonoBehaviour, Component, Behaviour, and ScriptableObject are concrete classes — you cannot define interfaces that they "implement" after the fact. These Paragon interfaces solve this by:
Enabling interface-based contracts — Paragon systems like IParagonBehaviour and IScriptableFactory extend these interfaces instead of requiring concrete Unity types.
Supporting composition — Code can depend on
IComponentorIBehaviourrather than a specificMonoBehavioursubclass, enabling more flexible architecture.Bridging the hierarchy split —
IUnityObjectis the common root for bothIComponent → IBehaviour → IMonoBehaviour(scene objects) andIScriptableObject(asset objects), which mirrors Unity's own inheritance fromUnityEngine.Object.
Any class inheriting from MonoBehaviour (including ParagonBehaviour) automatically satisfies IMonoBehaviour, IBehaviour, IComponent, and IUnityObject because these interfaces mirror the members that Unity classes already have.
Key Consumers
IScriptableFactory → IScriptableObject
Network factories inherit through the ScriptableObject branch
IComponent (via ParagonBehaviour)
Factory-managed scene objects need transform, gameObject
Interfaces
Root interface — identity, naming, equality
Component access, transform, messaging
Enable/disable and active state
Coroutines, invoke, lifecycle flags
Marker for ScriptableObject types
See Also
Objects Overview — parent system overview
Paragon Interfaces — higher-level Paragon interfaces built on these
IScriptableFactory — factory interface extending
IScriptableObject
Last updated