Вы можете использовать переменную для сохранения предыдущего масштаба во время паузы, а затем переназначить его в режиме без паузы.
private float _previousScale = 1;
private IEnumerator Speedup()
{
yield return new WaitForSeconds(10f);
Time.timeScale += 0.05f;
StartCoroutine(Speedup());
}
public void pausegame()
{
_previousScale = Time.timeScale;
Time.timeScale = 0;
}
public void unpausegame()
{
Time.timeScale = _previousScale;
}
Дальнейшее примечание.Я установил private float _previousScale = 1;
, потому что вижу проблему, если вы называете unpausegame перед pausegame.Если вы не назначите его, по умолчанию он будет равен 0, и вы рискуете установить Time.timescale на 0 также в unpausegame.