In addition to the usual types seen in most programming languages, Unity lets you define a variable type as
being something as broad as a top-level GameObject, down to as specific as its transform or other property, or even
component type (such as Camera or Light).