[vector3] object reference not set to an instance of an object

I have create the object (I think) at the beginning, but it still says I have the NullReferenceException on Vector3 pz = Camera.main.ScreenToWorldPoint(Input.mousePosition);
here is my code(really not sure what the problem is):

public class player_1 : MonoBehaviour {
	public Renderer rend;
	public GameObject pacman;
	public Vector3 pz;

	// Use this for initialization
	void Start () {
		//create the object of pacman
		pacman = new GameObject ("pacman");
		pacman.AddComponent<Rigidbody2D>();

		rend = this.GetComponent<Renderer> ();
		// make the object invisible
		rend.enabled = false;
	}

	// Update is called once per frame
	void Update () {
		if(Input.GetMouseButton(0)){

			//get the position of the mouse click
			Vector3 pz = Camera.main.ScreenToWorldPoint(Input.mousePosition);
			pz.z = 0;
			pacman.transform.position = pz;
			Instantiate (pacman, pz, Quaternion.identity);
			// make the object visible
			rend.enabled = true;
		}
	}
}

Remove the Vector3 from “Vector3 pz = Camera.main.ScreenToWorldPoint(Input.mousePosition);” .
You already declared it as a Vector3 at the beginning, so it is causing a problem when you declare it as a Vector3 again (although don’t ask why, I just know it is). Line should read “pz = Camera.main.ScreenToWorldPoint(Input.mousePosition);”

It was moving Resources folder .asset files to another folder for me. I thought unity relink files if we move them to new location, maybe there will be code somewhere which want that files in same location. Reverted it, saved my 8day work.