A plugin for evolving Behavior Trees in Unreal® Engine

EvolvingBehavior is a computational co-creativity plugin for Unreal® Engine to help you iteratively generate and edit your characters' behavior.

The tool uses transparent and controllable algorithms and visualizations (NOT large neural network models) to put you in control of the inputs, the parameters and modifications, and the results. EvolvingBehavior is designed to support your creativity, not to replace it.

The plugin works on top of the built-in Behavior Tree system in Unreal® Engine. See it in action.

Four behavior trees evolved from a single starting tree, using the EvolvingBehavior tool.

Whether you're prototyping or tweaking, EvolvingBehavior helps you meet your vision.

  • Works with your current Behavior Tree, even if incomplete!
  • You decide the goals, and test in your own levels.
  • Try many variations of the tree, and pick your favorites.
  • Control how fast the trees will change.
  • Use and tweak the results just like any other behavior tree!

EvolvingBehavior is free, source-available software.

Use the plugin for any ethical purpose for free! You can modify the code!

Zombies evolved using EvolvingBehavior attacking a player in the example project.

Ready to learn how EvolvingBehavior can work with you?

Evolution? Behavior trees? It may feel like a lot to learn. Don't worry - we have a detailed manual to help you get started.

You can also download our example project to see EvolvingBehavior in action.

Who are you, and can I ask you a question or suggest ideas?

The EvolvingBehavior project is run by a multi-disciplinary group of games, AI, and human-computer interaction researchers. We are excited to share our work freely with game developers from many backgrounds.

If you are using the project, or have questions, we would love to hear from you! You can contact us, or submit changes to the code.