Creating Components objects and C# objects
So far in this book, you've been taught the basics of writing code to create Components for GameObjects. Incorporating a State Machine into Unity means I have to take you just a little further into the normal C# programming environment.
This will help your game coding in two ways:
You will understand what Unity is doing behind the scenes when it creates Component objects in memory
Making use of a C# interface will help with the game control logic
Unity creates Components behind the scenes
You already know that a Unity script is really just a file on your hard drive that defines a class. Attaching this script to a GameObject allows Unity to create a Component object in memory when you click on Play.
Unity hides this process of creating a Component object from your view. In my opinion, making things simple by automating processes is great because it saves time; however, it doesn't help you understand how to code.
There are third party products available...