Interfaces

Core interfaces that define the Paragon object model's contracts for behaviours, components, and subsystems. These interfaces establish the type-safe relationships between MonoBehaviour owners, their subsystem containers, and the modular components that attach to them.

Architecture

spinner

Interface Hierarchy

Interface
Extends
Purpose

IMonoBehaviour, IDebugObject

Core contract for all Paragon MonoBehaviours — provides subsystem access and debug support

Contract for modular components that attach to behaviours via the subsystem — lifecycle, ticking, ownership

IParagonComponent

Type-safe component variant with strongly-typed owner access and callbacks

IParagonBehaviour

Marker interface for behaviours that use the component subsystem — provides typed ParagonSubsystem<T> access

Design Pattern

The interfaces implement a composition-over-inheritance pattern where:

  1. IParagonBehaviour is the base contract for any Paragon MonoBehaviour

  2. IParagonSubsystem<T> marks a behaviour as supporting modular components

  3. IParagonComponent<T> defines the contract for attachable components

  4. ParagonSubsystem<T> is the container that manages the component dictionary

This allows game code to compose behaviours from reusable components without deep inheritance chains.

See Also

Last updated