i-school - 制限時間を「分:秒」で表示する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;

/// <summary>
/// ゲーム内に制限時間を「分:秒」で表示するクラス
/// </summary>
public class BattleTime : MonoBehaviour {

    [SerializeField, Header("制限時間の設定値")]
    public int battleTime;
    [SerializeField, Header("制限時間の表示")]
    public TMP_Text battleTimeText;

    private int currentTime;              // 現在の残り時間(不要な場合は宣言しない)
    private float timer;                  // 時間計測用

    void Start(){
        // currentTimeを利用する場合にはここで代入する。以下、必要に応じてbattleTimeをcurrentTimeに書き換える
        currentTime = battleTime;
    }

    void Update(){
        // timerを利用して経過時間を計測
        timer += Time.deltaTime;
        // 1秒経過ごとにtimerを0に戻し、battleTime(currentTime)を減算する
        if (timer >= 1) {
            timer = 0;
            battleTime--;  // あるいは、currentTime--;
            // 時間表示を更新するメソッドを呼び出す
            DisplayBattleTime(battleTime);   // あるいは、DisplayBattleTime(currentTime);
        }
    }
    
    /// <summary>
    /// 制限時間を更新して[分:秒]で表示する
    /// </summary>
    private void DisplayBattleTime(int limitTime){
        // 引数で受け取った値を[分:秒]に変換して表示する
        // ToString("00")でゼロプレースフォルダーして、1桁のときは頭に0をつける
        battleTimeText.text = ((int)(limitTime / 60)).ToString("00") + ":" + ((int)limitTime % 60).ToString("00");
    }
}

ゲームシーンにはTextMeshProで作成したTextを用意して、このクラスをアタッチしましょう。
インスペクターからbattleTimeの値を設定することと、TextMeshProをアサインすることを忘れずに行ってください。
なお、通常のTextコンポーネントを使用しても大丈夫ですが、その場合にはクラス内のusing宣言と変数の宣言もText用に変更してください。

画面には
00:00
「分:秒」の形式で残り時間が表示されます。

ここではカウントダウンしていますが、カウントアップして表示する場合にも利用できます。
修正してチャレンジしてみましょう。

また、このクラスを2つのクラスに分割してみましょう。
時間計測用クラスと時間表示用クラスです。
それぞれに必要な変数やメソッドを用意して
作成して動作確認をしてみましょう。