IMonoBehaviour
Interface mirroring UnityEngine.MonoBehaviour. Extends IBehaviour with coroutine management, time-delayed invocation, lifecycle state flags, and edit-mode execution. This is the most derived interface in the scene-object branch and is the direct parent of IParagonBehaviour.
Definition
Namespace: Paragon Assembly: Paragon.dll
public interface IMonoBehaviour : IBehaviourExtends: IBehaviour
Remarks
IMonoBehaviour captures the MonoBehaviour-specific API surface that goes beyond basic component and behaviour functionality:
Lifecycle flags —
didStartanddidAwakeexpose whether Unity has already calledStart()andAwake()on this instance. Useful for initialization ordering.Coroutines — Full coroutine API (
StartCoroutine,StopCoroutine,StopAllCoroutines) for frame-spread work.Invocation — Time-delayed method calls (
Invoke,InvokeRepeating,CancelInvoke,IsInvoking).Edit-mode execution —
runInEditModetoggles whether the MonoBehaviour receives lifecycle callbacks in the Editor outside of Play Mode.
This interface is the bridge between Unity's type system and Paragon's IParagonBehaviour, which extends it with subsystem support and debug registration.
Properties
didStart
Returns true after Unity has called Start() on this MonoBehaviour.
didAwake
Returns true after Unity has called Awake() on this MonoBehaviour.
runInEditMode
Gets or sets whether this MonoBehaviour receives lifecycle callbacks (Awake, Start, Update, etc.) in the Editor outside of Play Mode.
Methods
Coroutine Management
Invocation
methodName
string
Name of the method to invoke (reflection-based)
time
float
Delay in seconds before first invocation
repeatRate
float
Interval in seconds between repeated invocations
Implementation Requirements
You do not need to implement this interface explicitly. Any class deriving from UnityEngine.MonoBehaviour (including ParagonBehaviour and all its subclasses) already has all these members.
Common Pitfalls
didStart / didAwake are Odin properties These properties (didStart, didAwake) are provided by Odin Inspector's SerializedMonoBehaviour, not Unity's base MonoBehaviour. They are available because ParagonBehaviour extends SerializedMonoBehaviour. Standard MonoBehaviour subclasses would not have these.
See Also
IBehaviour — parent interface
IParagonBehaviour — extends this with subsystem and debug support
ParagonBehaviour — primary implementation
Unity Interfaces — hierarchy overview
Last updated