For the implementation of Enemies’ AI we decided to use Behavior Trees (BTs), Unreal Engine 4’s built-in AI system.
Even if promising alternatives are on the rise (e.g. Utility AI) we determined that using BTs was the best choice, given Epic’s vast documentation on the matter and BTs great adaptability to shooter games.
In particular the tools we used are as following:
https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/ArtificialIntelligence/BehaviorTrees/
Navigation system: allows artificial intelligence agents to navigate the Level using pathfinding.
https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/ArtificialIntelligence/NavigationSystem/
EQS (Environment Query System): a feature used to collect data from the environment.
https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/ArtificialIntelligence/EQS/
In the following sub-pages we show the BTs we implemented and explain how the nodes we used in them work.