EvolvingBehavior  0.2.0
EvolvingBehavior Documentation

An AI-assisted tool to experimentally refine behavior trees through interactive evolution.

Authors: Nathan Partlan (NPCDev), Jim Howe, Luis Soto, Sarthak Shrivastava, Alex Grundwerg, Isha Srivastava

Additional collaborators: Magy Seif El-Nasr, Erica Kleinman, Sabbir Ahmad, Muhammad Ali, Zheng Fang, Stacy Marsella

Special Thanks: Tom Looman

The Evolving Behavior plugin uses Unreal® Engine. Unreal® is a trademark or registered trademark of Epic Games, Inc. in the United States of America and elsewhere. Unreal® Engine, Copyright 1998 – 2022, Epic Games, Inc. All rights reserved.


This is a plugin and tool for use with Unreal Engine 4. It works on top of the existing Unreal Engine 4 behavior tree technology to evolve new behavior.

You will need to provide a basic behavior tree, and specify various additional nodes and properties that could be generated and added to the tree. Then, you will need to specify how your behavior trees should be tested: requesting trees to be generated for agents, how their fitness should be calculated, and how long each experiment should last.

By running the experiment and interacting with the generated agents to test their fitness, you will then help to guide the evolutionary process towards behavior that fits your goals.


Copy the EvolvingBehavior plugin folder to the "Plugins" directory in your Unreal Engine 4 project folder.

Alternatively, to install as an Engine plugin for all projects, copy to the "Plugins" directory inside your Unreal Engine 4 engine folder.

You may need to recompile your project and/or restart Unreal Engine 4.

For more information, see: https://docs.unrealengine.com/en-US/Programming/Plugins/index.html

Setting Up an Experiment

Next: Setting up an experiment to evolve a behavior tree...