How to fix error CS0029: Cannot implicitly convert type `SpaceShooter_GameController' to `UnityEngine.GameObject'

Hi, I don’t know how to fix this error. The problem text is in bold. Below the script code with the problem is the script that I believe the problem is trying to link to / reference…

Problem Script:

using UnityEngine;
using System.Collections;

public class SpaceShooter_DestoryByContact_Asteroid : MonoBehaviour 
{
	public GameObject explosion;
	public GameObject playerExplosion;
	public int scoreValue;
	public SpaceShooter_GameController gameController;

	void Start ()
	{
		GameObject gameControllerObject = GameObject.FindWithTag ("GameController");
		if (gameControllerObject != null) 
		{
			**gameControllerObject = gameControllerObject.GetComponent <SpaceShooter_GameController> ();**
		}
		if (gameController == null) 
		{
			Debug.Log ("Cannot find 'SpaceShooter_GameController' script");
		}
	}

	void OnTriggerEnter (Collider other) 
	{
		if (other.tag == "Boundary_SpaceShooter") 
		{
			return;
		}
		Instantiate(explosion, transform.position, transform.rotation);
		if (other.tag == "Player") {
			Instantiate (playerExplosion, other.transform.position, other.transform.rotation);
		}
		gameController.AddScore (scoreValue);
		Destroy(other.gameObject);
		Destroy(gameObject);
		//not about below section
		if (other.tag != "Player")
		{
			gameController.AddScore(scoreValue);
		}
	}
}

Script being referenced:

using UnityEngine;
using System.Collections;

public class SpaceShooter_GameController : MonoBehaviour
{
public GameObject hazard;
public Vector3 spawnValues;
public int hazardCount;
public float spawnWait;
public float startWait;
public float waveWait;

public GUIText scoreText;
public int score;

void Start ()
{
	score = 0;
	UpdateScore ();
	StartCoroutine (SpawnWaves ());
}

IEnumerator SpawnWaves ()
{
	yield return new WaitForSeconds (startWait);
	while (true) 
	{
		for (int i = 0; i < hazardCount; i++) {
			Vector3 spawnPosition = new Vector3 (Random.Range (-spawnValues.x, spawnValues.x), spawnValues.y, spawnValues.z);
			Quaternion spawnRotation = Quaternion.identity;
			Instantiate (hazard, spawnPosition, spawnRotation);
			yield return new WaitForSeconds (spawnWait);
		}
		yield return new WaitForSeconds (waveWait);
	}
}

public void AddScore (int newScoreValue)
{
	score += newScoreValue;
	UpdateScore ();
}

void UpdateScore ()
{
	scoreText.text = "Score:" + score;
}

}

Thanks for your help in advance. Cheers

Sincerely Sanguine

K

Script #1, Line#16 to:

gameController = gameControllerObject.GetComponent<SpaceShooter_GameController>();

You were just assigning the wrong variable.