Object reference not set to an instance of an object

Hey guys! I am pretty new to C# and am currently making my second game using this language. The game is a clone of Breakout and I have been doing really well so far but I am stuck as an error is being shown in the console. After my ball goes into the Trigger zone and tries to re-spawn on the Paddle.

My Death Field Script:

using UnityEngine;
using System.Collections;

public class DeathFieldScript : MonoBehaviour {

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}

	void OnTriggerEnter(Collider other){
		BallController ballController = other.GetComponent<BallController>();

		if(ballController){
			ballController.Die();
		}
	}
}

And also my BallController Script:

using UnityEngine;
using System.Collections;

public class BallController : MonoBehaviour {

// Use this for initialization
void Start () {
}

// Update is called once per frame
void Update () {
	
}

public void Die(){
	Destroy(gameObject);
	GameObject paddleObject = GameObject.Find("Paddle");
	PaddleController paddleController = paddleObject.GetComponent<PaddleController>();
	paddleController.SpawnBall();
}

}

The exact error message is here:

NullReferenceException: Object reference not set to an instance of an object
BallController.Die () (at Assets/Scripts/Breakout/BallController.cs:18)
DeathFieldScript.OnTriggerEnter (UnityEngine.Collider other) (at Assets/Scripts/Breakout/DeathFieldScript.cs:20)

I think you need a ref too the game object with the method die in your first script for the null ref too go away.

A guy on the forums called: GameScience helped me out on this one. My GameObject.Find(“paddle”) should have been “Player” since that was the name of my GameObject. One little mistake

paddleController could be null.

paddleController.SpawnBall();

Also, I suggest not to destroy your ball. It is good practice to enable/disable only a game object that you use frequently.