Basically, I'm wondering how one would go about coding something that isn't: Code (CSharp): transform.MoveTowards(transform.position, player.transform.position, Time.deltaTime); for a simple pursuing enemy. I'm looking for an enemy that instead of bunching up behind the player in one spot, maybe uses trig functions to offset its position a little while still being smart enough to get to a stationary player. My best try is something like this: Code (CSharp): float targetX = playerTransform.position.x + Mathf.Sin(timeCreated + Time.time) * offsetAmount; float targetY = playerTransform.position.y + Mathf.Cos(timeCreated + Time.time) * offsetAmount; transform.MoveTowards(transform.position, new Vector3(targetX, targetY), Time.deltaTime); But when I did this, the player could just stand still and the enemies would just circle the player. I've looked around the internet for something like this but to no avail. Any ideas are welcome.