MonoBehaviour
De basisklasse achter bijna elk Unity-script — degene die van een C#-klasse een component op een game-object maakt.
De naam komt van Mono, de opensource-.NET-implementatie waarop Unity zijn C#-ondersteuning bouwde; de Britse spelling is afkomstig uit de Deense wortels van het bedrijf. Een subklasse maak je nooit aan met new. Je voegt haar toe aan een GameObject, en de engine roept daarna Awake, Start, Update, FixedUpdate en LateUpdate in een vaste volgorde aan bij elke ronde van de gameloop.
Die methoden zijn niet virtueel. Unity zoekt ze op naam wanneer het script wordt geladen, dus een verkeerd gespelde Updat compileert zonder klagen en doet stilletjes niets. De klasse bezit ook StartCoroutine, waarmee een hele generatie gameprogrammeurs wachtlogica met yield leerde schrijven, lang voordat async gewoon was. Duizenden objecten met elk een eigen Update worden duur — en dat is ruwweg de helft van de reden dat DOTS bestaat.