void Update() { List <FlockEntity> nearbyEntities = new List <FlockEntity>(); if (SpatialPartition) { m_BasicSP.Update(m_Entities); } for (int i = 0; i < m_Entities.Count; i++) { if (SpatialPartition) { m_BasicSP.GetEntitiesInRange(ref nearbyEntities, m_Entities[i].Position, m_Entities[i].m_Sight); } else { nearbyEntities = m_Entities; } m_Entities[i].Tagged = false; // Dont use Unity update per entity, its not efficent on mobile m_Entities[i].UpdateInternal(nearbyEntities, Target.transform.position); m_Entities[i].Tagged = true; } }