This project demonstrates a Reinforcement Learning agent built in Unity using custom Neural Networks and Genetic Algorithms.
The goal: evolve a self-driving car agent that learns to navigate efficiently.
- Custom Neural Network in Unity (C#) with tunable hidden layers (see
NNet.cs). - Genetic Algorithm Framework (see
GeneticManager.cs):- Selection, crossover, and mutation operations.
- Fitness-based repopulation loop to evolve agents.
- Simulation: Cars drive in Unity environment, evolving every generation.
- Results: Top-performing agent achieved by Generation 2, Genome 25.
GeneticManager.cs→ Handles population management, fitness evaluation, and reproduction.NNet.cs→ Implements feed-forward neural network with customizable layers.- Unity Scene → Contains car prefab and track for training.
- Unity (C#) for simulation
- Genetic Algorithms for evolution
- Custom Neural Networks for decision-making
- Clone repo and open in Unity.
- Attach
NNet.csto car prefab, andGeneticManager.csto scene manager. - Hit Play → Watch cars evolve across generations.
- Demonstrates neuroevolution techniques in Unity.
- Reinforcement learning without backpropagation, using genetic optimization.
- Framework can be extended to more complex environments.
Pradyumn K. Pottapatri
📍 Data Scientist | ML Engineer | NLP, Time Series, Reinforcement Learning, GenAI
LinkedIn | GitHub
