A good way of handling MonoBehaviour initialization in Unity?
} public class TestBehaviour : MonoBehaviour, IInitializable { int _internalState; TestBehaviour Initialize() { _internalState = 1; return this; } } You can extend this to types that need an input for initialization: ...