Make an object appear during play

I have just finished completing the roll-a-ball tutorial for unity. I am currently having a problem with a GameObject and the count integer. I am attempting to add a little flair by making a ground piece appear upon collecting the first 12 pickups, yet do not know how to reference other scripts. ,I have just finished the learn tutorial for the roll-a-ball game and I am attempting to add a bit of flair to the project. For some reason I cannot place an int, namely count, on a GameObject, and as I am only doing tutorials so far I do not know how to reference other scripts. Once count reaches 12, I would like a cube or GameObject to appear so that the ball can escape the starting arena.

So this should be your finished script:

	// Create public variables for player speed, and for the Text UI game objects
	public float speed;
	public Text countText;
	public Text winText;

    private float moveHorizontal;
    private float moveVertical;

    //This is a reference to the escape route object
    public GameObject escapeRoute;

    // Create private references to the rigidbody component on the player, and the count of pick up objects picked up so far
    private Rigidbody rb;
	private int count;

	// At the start of the game..
	void Start ()
		// Assign the Rigidbody component to our private rb variable
		rb = GetComponent<Rigidbody>();

		// Set the count to zero 
		count = 0;

		// Run the SetCountText function to update the UI (see below)
		SetCountText ();

		// Set the text property of our Win Text UI to an empty string, making the 'You Win' (game over message) blank
		winText.text = "";

	// Each physics step..
	void FixedUpdate ()
		// Set some local float variables equal to the value of our Horizontal and Vertical Inputs
		moveHorizontal = Input.GetAxis ("Horizontal");
        moveVertical = Input.GetAxis ("Vertical");

		// Create a Vector3 variable, and assign X and Z to feature our horizontal and vertical float variables above
		Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);

		// Add a physical force to our Player rigidbody using our 'movement' Vector3 above, 
		// multiplying it by 'speed' - our public player speed that appears in the inspector
		rb.AddForce (movement * speed);

    public float getHorizontal()
        return moveHorizontal;

    public float getVertical()
        return moveVertical;

    // When this game object intersects a collider with 'is trigger' checked, 
    // store a reference to that collider in a variable named 'other'..
    void OnTriggerEnter(Collider other) 
		// ..and if the game object we intersect has the tag 'Pick Up' assigned to it..
		if (other.gameObject.CompareTag ("Pick Up"))
			// Make the other game object (the pick up) inactive, to make it disappear
			other.gameObject.SetActive (false);

			// Add one to the score variable 'count'
			count = count + 1;

			// Run the 'SetCountText()' function (see below)
			SetCountText ();

	// Create a standalone function that can update the 'countText' UI and check if the required amount to win has been achieved
	void SetCountText()
		// Update the text field of our 'countText' variable
		countText.text = "Count: " + count.ToString ();

		// Check if our 'count' is equal to or exceeded 12
		if (count >= 12) 
			// Set the text value of our 'winText'
			winText.text = "You Win!";

            //Here after we win we enable the escape route to be visible for the player

You specifically only need this line in the function SetCountText as shown above:


Along with the reference to it at the very top of your code like this:

public GameObject escapeRoute;

Here is a quick video showing the setup:

Thank you very much for your fast help, however I am still having a problem. I have implimented both pieces of code into PlayerController, i have created a cube named escapeRoute, and under WinText in the unity view of the PlayerController script i have made “Escape Route” bounded to said cube, yet when disabled, even while playing, upon collecting the 12th pick-up nothing happens. I very much appreciate the video help, but i did not see the code in action upon you collecting the 12th pick-up. I also realized that you did not have to bind any object to the script, but I have attempted t do so as no object named escapeRoute would appear if i were to place one.

In addition to this, have some error info.
UnassignedReferenceException: The variable escapeRoute of PlayerController has not been assigned.
You probably need to assign the escapeRoute variable of the PlayerController script in the inspector.
PlayerController.SetCountText () (at Assets/_Completed-Game/Scripts/PlayerController.cs:84)
PlayerController.OnTriggerEnter (UnityEngine.Collider other) (at Assets/_Completed-Game/Scripts/PlayerController.cs:68)

I have no idea what any of this means being a beginner and all, so your additional help would be gladly appreciated.