MindMaker  by krumiaa

UE plugin for training ML agents in games/simulations as OpenAI Gym environments

created 5 years ago
273 stars

Top 95.3% on sourcepulse

GitHubView on GitHub
Project Summary

MindMaker is an open-source plugin for Unreal Engine 4 and 5 that transforms game environments into OpenAI Gym-compatible platforms for training machine learning agents. It enables developers and researchers to create sophisticated AI behaviors for games, simulations, robotics, and more by facilitating a network connection between Unreal Engine and Python-based ML libraries.

How It Works

MindMaker establishes a network connection between Unreal Engine and a Python ML library. The plugin acts as a bridge, sending agent observations and rewards from Unreal Engine to the Python environment, and receiving actions back to control agents within the engine. This approach allows for flexible training using either custom Python scripts or pre-compiled engines like the included DRL Engine (based on Stable-Baselines3), simplifying the process of creating custom Gym environments for each application.

Quick Start & Requirements

  • Install: Download the MindMaker AI Plugin for UE and place it in your UE project's Plugins directory. Download a compatible MindMaker Learning Engine (or use the one from the example project) and place it in your project's Content\MindMaker\dist\mindmaker\ directory.
  • Prerequisites: Unreal Engine 4 or 5, Python.
  • Setup: Configure a SocketIO component in your UE project and connect it to the MindMaker server (defaulting to http://localhost:3000). The MindMaker Windows blueprint node can be used to automatically launch the learning engine on Event Begin Play.
  • Resources: Links to example projects, documentation, and video tutorials are provided.

Highlighted Details

  • Supports multiple Deep Reinforcement Learning algorithms including A2C, PPO, SAC, TD3, DQN, and more.
  • Enables multi-agent reinforcement learning (MARL) by allowing multiple clients to connect to a single learning environment.
  • Offers both pre-compiled DRL engines and a Remote ML Server for custom Python ML library integration.
  • Facilitates saving/loading trained models and logging with Tensorboard.

Maintenance & Community

  • Active Discord community available via invite link.
  • The project appears to be actively developed, with recent updates and examples for UE 5.1.

Licensing & Compatibility

  • The plugin is open-source, with specific licensing details not explicitly stated in the README, but implied to be permissive for integration.
  • Compatible with Unreal Engine 4 and 5. Primarily supports MS Windows for the learning engine.

Limitations & Caveats

  • The project primarily targets MS Windows for the learning engine component.
  • While it supports numerous algorithms, specific UE versions might have different subsets available.
  • Imitation Learning is noted as experimental.
Health Check
Last commit

2 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
4 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.