ゲームクリアの実装をクリア条件から考える

落ち物ゲームやアクションゲームなどでは、必ず「ゲームオーバー」か「ゲームクリア」の結末に繋がります。

例えば「ブロック崩しゲーム」の場合、クリア条件はブロックが全て消えた時になるので、画面上からブロックが消えた時点が「ゲームクリア」を満たしたことになるので、ブロックをまとめているオブジェクトにブロックが全て消えたらゲームクリアというスプリクトを制作して追加すれば良いことになります。

ブロックくずしげぇむのGameclear画面

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement; // ←画面移行するのに必要

public class GameClear : MonoBehaviour // ←スクリプト名「GameClear」
{
    public Text gameClearMessage;
    Transform myTransform; // ←Transformの宣言


    // Start is called before the first frame update
    void Start()
    {
        myTransform = transform; // ←Transformコンポーネントの保持

    }

    // Update is called once per frame
    void Update()
    {
        if (myTransform.childCount == 0) // ←子供のカウントが0になったのなら

        {
            SceneManager.LoadScene("Gameclear"); // ←Gameclear画面へ移行
        }
    }
}

if文の中身を変更すれば、様々な状況に対応できると思います。

横スクロールアクションゲームの場合なら、ゴール地点に「領域(不可視のオブジェクト)」を展開してプレイキャラが接触したらクリア画面に移行するなども可能だと思います。