So I’m not sure why my objects ware doing this. So when I instantiate my player object, it will move towards (0,0) before I click anywhere. I have a player controller script that will have my plyaer objects move when I click at a location. Does anybody know why it’s doing this?

Here’s my code

public class PlayerController : MonoBehaviour {

    //Movement variables for player
    public float moveSpeed;
    public float moveVelocity;
    private Vector3 target;
    private Vector3 mousePosition;
    private float targetDistance;
    private Rigidbody2D rBody;
    SpriteRenderer color;

    GroundColor collision;

    //Stats
    public float health;


    // Use this for initialization
    void Start () {
        rBody = GetComponent<Rigidbody2D>();
        color = GetComponent<SpriteRenderer>();
        color.color = new Color(0f, 1f, 0f, 1f);
        collision = GetComponent<GroundColor>();

    }

    // Update is called once per frame
    void Update () {
        //Debug.Log("moving");
        Move();
	
	}

   public void Move()
    {

        moveVelocity = 0f;
        if (Input.GetMouseButtonDown(0))
        {
            target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            target.z = transform.position.z;
        }
        transform.position = Vector3.MoveTowards(transform.position, target, moveSpeed * Time.deltaTime);
        Vector3 dir = mousePosition - transform.position;
        float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
        transform.rotation = Quaternion.AngleAxis(angle + 90.0f, Vector3.forward);
    }

0,0,0 is the default vector 3.
So both mousePosition, and target = 0,0,0 on frame one.

You can change the default value when you initialize the variable, or make sure it won’t move until you clicked at least once.

For example.

private bool clickedOnce = false;

public void Move()
 {
 
     moveVelocity = 0f;
     if (Input.GetMouseButtonDown(0))
     {
         target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
         target.z = transform.position.z;
if (!clickedOnce) {
clickedOnce = true;
}

     }

if (clickedOnce) {
     transform.position = Vector3.MoveTowards(transform.position, target, moveSpeed * Time.deltaTime);
     Vector3 dir = mousePosition - transform.position;
     float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
     transform.rotation = Quaternion.AngleAxis(angle + 90.0f, Vector3.forward);
}

 }

Or something like that.