Objects

Foundation object hierarchy for the Paragon framework. Provides base classes for all MonoBehaviours, ScriptableObjects, serializable plain objects, and a component-based subsystem architecture — all with Odin Inspector serialization and an opt-in debug rendering system.

Architecture

spinner

Composition Flow

spinner

Key Concepts

Concept
Description

ParagonObject

Non-Unity serializable base for plain objects. Provides Initialize()/Destroy() lifecycle and debug registration.

ParagonBehaviour

Abstract MonoBehaviour base. All Paragon MonoBehaviours inherit from this. Adds subsystem support and debug registration.

ParagonScriptableObject

Abstract ScriptableObject base with Odin serialization. Used for data assets and factories.

ParagonSubsystem

Component container attached to a ParagonBehaviour. Manages a Dictionary<Type, IParagonComponent> for composition-over-inheritance.

ParagonComponent<T>

Abstract base for subsystem components. Receives OnAdded/OnRemoved/Tick lifecycle callbacks from its owning subsystem.

IDebugObject

Interface for opt-in debug rendering. Objects register with the static Debug class and receive OnDebug() calls each frame.

Design Patterns

Composition over Inheritance

The Objects system implements a component-based architecture via ParagonSubsystem + ParagonComponent<T>:

Debug Registration

All ParagonBehaviour and ParagonObject instances automatically register with the debug system. When DebugEnabled is true, OnDebug() is called each frame (only when DEBUG_ENABLED is defined).

Classes

Class
Description

Serializable base for non-Unity objects with lifecycle and debug support

Abstract MonoBehaviour base with Odin serialization, subsystem slot, and debug registration

Abstract ScriptableObject base with Odin serialization

Component container — manages IParagonComponent instances by type

Abstract component base with typed owner, lifecycle hooks, and per-frame tick

See Also

Last updated