public void RotateAndMove() { // rotate head (... TODO: something not right with this) Vector3 mousePos = mainCam.ScreenToWorldPoint(Input.mousePosition); float angle = Mathf.Atan2(mousePos.x, mousePos.y) * Mathf.Rad2Deg; transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward * -1); // -1 for inverted z-axis MultiPlayerController childScript = this.transform.GetChild(0).GetComponent <MultiPlayerController>(); float speed = childScript.GetSpeed(); //Debug.Log(speed); // move head //transform.position = Vector2.MoveTowards(transform.position, mousePos, GetSpeed()); transform.position = Vector2.MoveTowards(transform.position, mousePos, speed); }