Transform does not move GameObject

Hi, I’m pretty new to c# and unity so please bare with me.
I want to transform.position a Gameobject on a grid by using as a vector 3 reference.
I am trying to do this through a tilescript which equals one tile in an array. When I instantiate the GameObject/PlayerPrefab I am able to clone the Gameobject onto each tile (which is what I want to do with the transform.position). However when I try to transform.position the GameObject nothing works.

public class TileScript : MonoBehaviour {
	public Vector3 tileCenter;
	public GameObject PlayerPrefab;
	public PlayerScript Select;
	public float x,y,z;

	// Use this for initialization
	void Start () {
		//tileCenter = new Vector3 (x, 3, z);

		x =;
		y =;
		z =;

	void Update () {

	void OnMouseEnter() {
		gameObject.transform.renderer.material.color =;

	void OnMouseExit() {
		transform.renderer.material.color = Color.white;

	public void OnMouseDown()
		PlayerPrefab.transform.position =  new Vector3 (x, 3, z);
		//if (Select.selected == true) 
			//var Move = Instantiate(PlayerPrefab, new Vector3 (x,0,z), Quaternion.AngleAxis (0,Vector3.right));		
			//tileCenter = newPos;
			//print (x);

I have tried multiple variations of transform.position, none seem to work. Any help would be appreciated, thanks.

Ok I got it to work by instantiating the prefab on the grid creation script and transform.position in the player script on Input.mouseButtonDown (0)). Using Raycast though but atleast it works. Thanks for the input.