https://www.gameforce.blog/understanding-scripting-in-unity-game-engine/