load level

how to make a pause of 5 seconds before restart

call the restart level or new level in a coroutine after 5 sec

IEnumerator LevelAfterFewSec()
    {
        yield return new WaitForSeconds(0.5f);
        do your level thing
    }

and then call this when you die or something like

StartCoroutine(LevelAfterFewSec());