public void Reset() { player.gameObject.SetActive(false); // Destroy Blocks with the object BlockController blocksArray = FindObjectsOfType <BlockController>(); for (int i = 0; i < blocksArray.Length; i++) { Destroy(blocksArray[i].gameObject); } // Destroy Gates gatesArray = FindObjectsOfType <Gate>(); for (int i = 0; i < gatesArray.Length; i++) { Destroy(gatesArray[i].gameObject); } firstBlock.transform.position = BLOCK_START_POSITION; player.transform.position = PLAYER_START_POSITION; scoreController.Start(); obstacleController.Start(); player.ResetPlayer(); player.gameObject.SetActive(true); deathMenu.gameObject.SetActive(false); }