Enemy AI things to consider

I am making a first person shooter something like cysis where you navigate a terrain and enemies will attack you when you get close.Now, i have an enemy soldier with animation ready to use. I want the soldiers to have a small designated area they stay in. Like they patrol a small area and when im in range they take cover and fire at me. I dont need for them to follow me beyond the designatd are.

What are things i need to consider using for the enemy AI? Waypoints? Raycasting?
Im just not sure. Thank you

  1. Waypoints ( you could try random waypoints )
  2. Animations ( Idle, Walk, Run, Jump, Crouch, switch weapons, shooting and throwing grenades)
  3. How far is the enemy able to see
  4. Audio Lisener for them to be able to hear you if you’re in they’re back
  5. Footsteps sfx, Hurt sfx, Shooting sfx