Why is MonoBehaviour called MonoBehaviour?

Is it because of Mono?

Yes.

But mono as a project , or mono as a single. ?
Or both.

It probably should’ve been called MonoScript or BaseMono or WishWeThoughtOfDOTSFirst

Waiting for DOTSBehaviour…

1 Like

Yes :slight_smile:

Mono as in the Mono compiler. This specifier is significant because Unity used to support scripting in “Javascript” and Boo. Therefore a C# script is a Mono script*, that held a MonoBehaviour, as opposed to a Javascript script that presumably would hold an implicit JSBehaviour or something.

Behaviour as in “this is a behaviour script for the gameobject it is placed on”.

Obviously the name has been somewhat outgrown by the engine.

  • To further nail the point home, .cs files are still imported as “MonoScript” objects.
3 Likes

Not sure if this was ever part of the design or naming decisions but it could be pointed out that scripts added to GameObjects are generally intended to serve a single function in the Unity design specification if I’m not mistaken - thus - mono behaviour. Coincidence or intention?