Sometimes in life you set out to do something and you don’t get where you want but you find other unexpected gems during your jurney which become useful in ways you cannot anticipate. That is how the development of our Utility AI libraries started at first.

At 2019 or so our small team at NoOpArmy started to prototype a few game ideas using Unity’s new data oriented technology stack or DOTS. We wanted to make a game based on firework shows and later on changed it to a survival game with a special magic system and other things but ultimately it did not work and we ran out of time and budget. We lost two employees during the time which did not help either. That aside we wanted to use an AI algorithm which is more compatible with ECS and a data-oriented execution model in general and is not full of jumps like a state machine.

We started researching different AI algorithms and from all possibilities including FSMs, behavior trees, utility AI and goal oriented action planners, we decided to take a deeper look at utility AI. At first we did this because it seemed that this is better suited to be created using an ECS architecture and similar computations can more easily be batched together. This did not turn out to be that true but we fell in love with the algorithm and its ease of use and possibilities. The talks Dave Mark gave and his behavioral mathematics book helped a lot and we were fully convinced after implementing our AIs very easily and intuitively using the utility AI algorithm we coded for Unity’s entities v0.17.

Those projects were shelved and it did not make financial sense to continue improving the DOTS based utility AI library however we decided to do a MonoBehaviour version and put it on the asset store and use it on our own projects. Also while time was passing we decided to take a look at UE and switch to it at least for some of our own projects and potential client projects and with collaboration from a good friend of ours, we did an unreal version of it as well.

As a result not only Utility AI but now we have multiple AI frameworks coded for Unity and are going to make big AI suites for both Unity and Unreal during the coming months. The amount of support from the users on both stores showed us that there is a gap in the market for tools which are clearly documented and easy to use but still are suitable for real productions and allow you to go deep with them.