Time.timeScale = 0.0f останавливает вызов Invoke.
Решение – плагин DoTween, Он обеспечивает вызов функции DOVirtual.DelayedCall. Вы можете решить, игнорировать шкалу времени или нет.
static Tween DOVirtual.DelayedCall(float delay, TweenCallback callback, bool ignoreTimeScale = true)
delay Задержка обратного вызова.
callback Обратный вызов для запуска по истечении задержки.
ignoreTimeScale Если TRUE (по умолчанию), игнорирует timeScale Unity.
// Example 1: calling another method after 1 second
DOVirtual.DelayedCall(1, MyOtherMethodName);
// Example 2: using a lambda to throw a log after 1 second
DOVirtual.DelayedCall(1, ()=> Debug.Log("Hello world"));