“Object reference not set to an instance of an object

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class PlayerScoreScript : MonoBehaviour {

[SerializeField]
public AudioClip  coinClip, lifeClip;
private CameraScript CameraScript;
private Vector3 previousPosition;
private bool countScore;

public static int scoreCount;
public static int lifeCount;

public static int coinCount;

void Awake(){
	CameraScript = Camera.main.GetComponent<CameraScript> ();
}

// Use this for initialization
void Start () {
	previousPosition = transform.position;
	countScore = true;

}

void Update () {
	CountScore();
}

void CountScore (){
	if(countScore){
		if(transform.position.y < previousPosition.y){
			scoreCount++;
		}
		previousPosition = transform.position;
		GamePlayController.instance.SetScore (scoreCount);
	}

}
// Update is called once per frame

		void OnTriggerEnter2D(Collider2D target){
			if(target.tag =="Coin"){
				coinCount++;
				scoreCount+=200;
				AudioSource.PlayClipAtPoint(coinClip,transform.position);
				target.gameObject.SetActive(false);

		GamePlayController.instance.SetScore (scoreCount);
		GamePlayController.instance.SetCoinScore (coinCount);
		}
			if(target.tag =="Life"){
				lifeCount++;
				scoreCount+=300;
				AudioSource.PlayClipAtPoint(coinClip,transform.position);
				target.gameObject.SetActive(false);
		GamePlayController.instance.SetScore (scoreCount);
		GamePlayController.instance.SetLifeScore (lifeCount);
			}

			if(target.tag=="Bounds"){
				CameraScript.moveCamera=false;
		countScore=false;
		transform.position=new Vector3(500,500,0);
				lifeCount--;

		GamePlayController.instance.GameOverShowPanel(scoreCount, coinCount);
		GameManager.instance.checkGameStatus (scoreCount, coinCount, lifeCount);
			}
			if(target.tag=="Deadly"){
				CameraScript.moveCamera=false;
		countScore=false;
		transform.position=new Vector3(500,500,0);
				lifeCount--;
		GamePlayController.instance.GameOverShowPanel (scoreCount, coinCount);
		GameManager.instance.checkGameStatus (scoreCount, coinCount, lifeCount);
			}

}
}

I believe the error is that a static variable instance is not set to anything. In any GamePlayController component, in Awake method, call instance = this