C# Load Level after seconds+key press

i Want to change level on keypress and after X seconds
I dont know why " yield WaitForSeconds " do not work

Here’s my script

using UnityEngine;
using System.Collections;

public class Cambiar_nivel : MonoBehaviour
{

    void Update()
    {
        //Load a scene by the name "SceneName" if you press the W key.
        if (Input.GetKeyDown(KeyCode.W))
        {
             yield WaitForSeconds (5);
            Application.LoadLevel("2");
        }
    }
}

You’re missing “return new”, so “yield return new WaitForSeconds (5);”, also, it must be inside a method of type IEnumerator (instead of void) and you must call it with StartCoroutine(Method());

Look at the unity documentation to see an example.