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…
Yes ![]()
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.
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?