Making Credits Scroll Upwards on Screen

Hello, I'm trying to make very simple credits for my game, and I was thinking about just making a GUIText prefab (creditTextItem), and then read items in from my credits text file, instantiate a new GUIText prefab set its position to off-screen add it to a list of GUIText prefabs, then each update cycle through the list update the position in the y axis a little bit. My code is below.

using UnityEngine;
using System.Collections;
using System.IO;
using System.Collections.Generic;

public class CreditsScript : MonoBehaviour 
{
    public GUIText creditTextItem;
    private List<GUIText> Credits = new List<GUIText>();
    private TextReader tr;
    public string path;
    private List<string> credits = new List<string>();

    // Use this for initialization
    void Start () 
    {
        // Set the path for the credits.txt file
        path = "Assets/Resources/Credits.txt";

        // Create reader & open file
        tr = new StreamReader(path);

        string temp;
        while((temp = tr.ReadLine()) != null)
        {
            // Read a line of text
            credits.Add(temp);
        }

        // Close the stream
        tr.Close();

        CreateCredits();
    }

    // Update is called once per frame
    void Update () 
    {
        if (Credits.Count > 0)
        {
            for (int i = 0; i < Credits.Count; i++)
            {
                Credits*.transform.Translate(new Vector3(0f, 1f, 0f));*
 *}*
 *}*
 *}*
 *void CreateCredits()*
 *{*
 *for (int i = 0; i < credits.Count; i++)*
 *{*
 _string c = credits*;*_
 _*Instantiate(creditTextItem);*_
 _*creditTextItem.transform.position = GameObject.Find("CreditStart").transform.position;*_
 _*creditTextItem.text = c;*_
 _*Debug.Log(c);*_
 _*Credits.Add(creditTextItem);*_
 _*}*_
 _*}*_
 _*}*_
_*```*_
_*<p>It's reading in the text file properly and updating the list's correctly.  But is isn't displaying the items on screen any ideas?</p>*_
_*<p>Thanks,*_
_*Hans</p>*_

You could try this: http://answers.unity3d.com/questions/44728/how-do-i-make-credits

What is just do is a make a very long cube or plane long in the Y direction, and i just put 3D text infront of the cube or plane.

And then i make the camera go up or down using a animation attached on the camera.

it's simple but it works.

I did some tinkering and it turned out being even easier just using the OnGui() function. Your answer did help me figure it out @ dave so you get the credit :D

public class CreditsScript : MonoBehaviour 
{
    public GUISkin creditSkin;
    public float creditSpeed;
    private TextReader tr;
    private string path;
    private List<string> credits = new List<string>();
    private List<Rect> positionRect = new List<Rect>();

    // Use this for initialization
    void Start () 
    {        
        // Set the path for the credits.txt file
        path = "Assets/Resources/Credits.txt";

        // Create reader & open file
        tr = new StreamReader(path);

        string temp;
        int count = 0;
        while((temp = tr.ReadLine()) != null)
        {
            // Read a line of text
            credits.Add(temp);
            positionRect.Add(new Rect(200, 790 + (30 * count), 300, 100));
            Debug.Log(temp);
            count++;
        }

        // Close the stream
        tr.Close();
    }

    // Update is called once per frame
    void OnGUI() 
    {
        GUI.skin = creditSkin;
        for (int i = 0; i < credits.Count; i++)
        {
            GUI.Label(positionRect_, credits*, "item");*_
 <em>_Rect tempRect = positionRect*;*_</em>
 <em>_*tempRect.y = tempRect.y - creditSpeed;*_</em>
 <em><em>_positionRect *= tempRect;*_</em></em>
 <em><em>_*}*_</em></em>
 <em><em>_*}*_</em></em>
<em><em>_*}*_</em></em>
<em><em>_*```*_</em></em>
<em><em>_*<p>Thanks for the answers.</p>*_</em></em>