// Update is called once per frame void Update() { if (!isAttacking) { if (Proximity.CheckFacing(transform.Find("ZombieLookPosition").gameObject, player, attackRange)) { StartCoroutine("DoAttack"); } else { if ((player != null) && (!recentlySpawned)) { //turn towards the player Vector3 relativePos = player.transform.position - transform.position; Quaternion lookDir = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(relativePos, Vector3.up), Time.deltaTime / turnScaleFactor); transform.rotation = lookDir; //Move towards the player myBody.velocity = transform.forward * speed; } } } myBody.velocity += (Physics.gravity / References.entityGravMod); }