ゲームのオープニングなどでよく使われる技法です。

※参考画像
sindo1
      ↓
sindo2

テキストに以下のスクリプトを取り付けます。
   ↓
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class fadeinout : MonoBehaviour {

    float alfa = 0;
    float speed = 0.04f;
    float red, green, blue;

    bool onetime = false;
    bool orikaesi = false;
    
    void Start ()
    {
        red = GetComponent<Text>().color.r;
        green = GetComponent<Text>().color.g;
        blue = GetComponent<Text>().color.b;
    }
 
    void Update ()
    {
        if (orikaesi == false)
        {
            GetComponent<Text>().color = new Color(red, green, blue, alfa);
            alfa += speed;
        }
        else if (orikaesi == true)
        {
            GetComponent<Text>().color = new Color(red, green, blue, alfa);
            alfa += -speed;
        }

        if (alfa > 1)
        {
            if (onetime == false)
            {
                StartCoroutine("orikaesiwait");
                onetime = true;
            }
        }
        else if (alfa < 0)
        {
            gameObject.SetActive(false);
        }
    }

    IEnumerator orikaesiwait()
    {
        yield return new WaitForSeconds(1);
        orikaesi = true;
    }
}

透明から完全に表示されるまでの時間は、float speedの数字
で、

完全に表示された状態(alfaの数値が1以上)から
薄くなり始めるまでの時間は
yield return new WaitForSeconds(1)の()内の数字
それぞれ調整できます。


また、<Text><Image>に変えれば画像でも同じことが可能です。