Curious why MonoBehaviour was chosen as the base class name instead of UnityBehaviour? The base class is Unity specific and not Mono specific, yes? It creates some confusion. I think it makes sense to rename it to UnityBehaviour, distinguishing it from the Mono project. I vote to begin the process of depreciating MonoBehaviour in-favor of UnityBehaviour — it is now time.
Some aren’t. That’s the goal of the depreciation process. People can still use MonoBehaviour for a time, in the meantime docs get updated with UnityBehaviour. Simple.
From what i’ve read about the general attitude they have for rolling out new features, they’re extremely cautious in breaking existing code that used to work.
While you could simply create another identical type called UnityBehaviour, and mark the older one as obsolete or something similar, this still probably means work that has to be done… work that would lead to very little (if any) value to us developers.
I would be truly surprised if anyone would go for this, unless i am missing some of the valid reasons for doing it.
Leaving it at MonoBehaviour means they can change the name of the engine if they ever are bored with the current name. It’s also one less letter, and there are fewer namespaces starting with “Mono”, so auto-completion should be pretty quick no matter what. Also, not worth worrying about
@orb Sorry, but that’s just silly. @liortal , the value is correctness. While most (including me) are use to MonoBehaviour, it simply isn’t correct and invokes some confusion. There are no MonoBehaviour’s, there are however UnityBehaviour’s.
Additionally, using another project name as the base class name (in whole or part) for your framework, cheapens it. Comes off a bit amateurish. I might expect such an oversight or mistake from a high-school kid, not $100+m company.
The good news is; it’s easy to correct and given all the changes and growth Unity is undergoing, the time is ripe.
The idea comes from the fact that there’s a Behaviour class and there’s a MonoBehaviour which is the base class for a behaviour that is defined using Mono (in C# or Unityscript) by us developers.
Correctness is not something valued around these parts.
I agree with you. And actually, Unity sort of agrees with you too. If you watch the latest Unite 2016 roadmap/wishlist video, they vaguely mention thoughts of replacing MonoBehaviour with a “ScriptBehaviour”. But not for a very very very long time. In fact, I’d bet money on never.
While they’re at it, they should adopt proper American English and spell it Behavior. We didn’t win independance just to keep spelling words the old way. /s