NeuroEvolution of Augmenting Topologies (NEAT) is a neuroevolution algorithm that is capable of evolving both the weights and the topology of the neural network at the same time. More info about the NEAT algorithm can be found here.
This project is a port of SharpNEAT to the Unity game engine which adds an interface to connect the algorithm directly to a scene in Unity. Using this approach it is possible to evaluate specimens of the evolution directly in a Unity scene, using all the built-in features of Unity such as the physics engine, to assign proper fitness values.
UnityNEAT was a core part of my Master’s Thesis at the IT University.