Создал свой собственный класс времени, чтобы сделать работу с паузами более удобнее.
Обертка над Time.DeltaTime и Time.TimeSinceLevelLoad для управления паузами и масштабом времени. Для использования класса требуется особая дисциплина писания кода, но он делает многие реализации намного проще, в особенности при выполнении с различными счётчиками времени (например, анимации интерфейса и игровые анимации).
using System;
using UnityEngine;
public static class TimeManager
{
private static float _timeScale=1;
public static float DeltaTime { get { return Time.deltaTime * _timeScale; } }
public static float FixedDeltaTime { get { return Time.fixedDeltaTime * _timeScale; } }
//--------------------------------------------
public static void Pause()
{
_timeScale = 0;
}
//--------------------------------------------
public static void UnPause()
{
_timeScale = 1;
}
//--------------------------------------------
}