object reference not sent to an instance of an object
My code is SceneFader.instance.LoadLevel("Gameplay");
I am using it for my new 2d android game in unity.
my complete code for MainMenuController.cs is '
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class MainMenuController : MonoBehaviour {
    [SerializeField]
    private Button musicBtn;
    [SerializeField]
    private Sprite[] musicIcons;
    // Use this for initialization
    void Start () {
        CheckToPlayTheMusic ();
    }
    void CheckToPlayTheMusic(){
        if (GamePreferences.GetMusicState () == 1) {
            MusicController.instance.PlayMusic (true);
            musicBtn.image.sprite = musicIcons [1]; 
        } else {
            MusicController.instance.PlayMusic (false);
            musicBtn.image.sprite = musicIcons [0];
        }
    }
    public void StartGame(){
        GameManager.instance.gameStartedFromMainMenu = true;
        //Application.LoadLevel ("Gameplay");
        SceneFader.instance.LoadLevel("Gameplay");
    }
    public void HighscoreMenu(){
        Application.LoadLevel ("HighScoreScene");
    }
    public void OptionsMenu(){
        Application.LoadLevel ("OptionsMenu");
    }
    public void QuitGame(){
        Application.Quit ();
    }
    public void MusicButton(){
        if (GamePreferences.GetMusicState () == 0) {
            GamePreferences.SetMusicState (1);
            MusicController.instance.PlayMusic (true);
            musicBtn.image.sprite = musicIcons [1];
        } else if (GamePreferences.GetMusicState () == 1) {
            GamePreferences.SetMusicState (0);
            MusicController.instance.PlayMusic (false);
            musicBtn.image.sprite = musicIcons [0];
        }
    }
}
Any body have same kind of issue?
please check scenefader script
using UnityEngine; using System.Collections;
public class SceneFader : MonoBehaviour {
public static SceneFader instance;
[SerializeField]
private GameObject fadePanel;
[SerializeField]
private Animator fadeAnim;
// Use this for initialization
void Awake () {
    MakeSingleton ();
}
void MakeSingleton(){
    if (instance != null) {
        Destroy (gameObject);
    } else {
        instance = this;
        DontDestroyOnLoad (gameObject);
    }
}
public void LoadLevel(string level){
    StartCoroutine (FadeInOut (level));
}
IEnumerator FadeInOut (string level){
    fadePanel.SetActive (true);
    fadeAnim.Play ("FadeIn");
    yield return StartCoroutine (MyCoroutine.WaitForRealSeconds (1f));
    Application.LoadLevel (level);
    fadeAnim.Play ("FadeOut");
    yield return StartCoroutine (MyCoroutine.WaitForRealSeconds (.7f));
    fadePanel.SetActive (false);
}
}
 
    