Делюсь своим опытом.
Да, возможно, он не оптимален, не профессионален, но тем не менее - работает.
1.Берём готовое решение поиска пути (А*). Настраиваем локацию.
2.Варганим простой (или сложный, у меня простой) скрипт ИИ, отвечающий за поведение персонажа. Я использовал оператор switch (руководств по JS огромное количество, хотя, он работает, по-моему, во всех языках идентично).
3.Связываем два наших решения и лепим готовые скрипты на подготовленного (анимация, кровища, рэг-долл т.д.) персонажа. Всю эту красотищу запихиваем в префаб.
4."Рожаем" бота в любом месте локации, любым способом, в любое время и он, сЮка, начинает жить своей собственной жизнью, пока ему что-нибудь не отстрелят