When you create a new C# class in Unity, it automatically inherits from the
Monobehaviour class, which is Unity’s base class for components. In Unity, you tend to create a lot of components, but it’s important to keep in mind that you don’t have to.
When I first started using Unity, I thought everything should be a
Monobehaviour subclass. Some of my students have also had this misconception. Sometimes, it’s better to create a “plain old” C# class. But to make that decision, you need to understand what you get with a
Monobehavior that you don’t get elsewhere.