GameController.csとPlayer.csは同じゲームオブジェクトにアタッチされてるの?
それはそれでいろいろアレだけど違うなら
gamecontroller =GameObject.GetComponent<GameController>();
GameObjectでアタッチされてるゲームオブジェクトを指定しなきゃだめでしょ