// Start is called before the first frame update void Start() { aiManager = FindObjectOfType <AIManager>(); if (aiManager == null) { Debug.LogError("No AIManager found in scene"); } // Add this gameobject to ai list aiManager.AddAI(gameObject); player = GameObject.FindGameObjectWithTag("Player"); if (Random.Range(0.0f, 1.0f) > 0.5f) { fleeDir = -1.0f; } float sqrtSpeed = Mathf.Sqrt(speed); currentSpeed = new Vector2(Random.Range(-sqrtSpeed, sqrtSpeed), Random.Range(-sqrtSpeed, sqrtSpeed)); animator = gameObject.GetComponent <Animator>(); }