Home

Awesome

InteractML, an Interactive Machine Learning Visual Scripting framework for Unity3D

<p align="center"> <img src="https://github.com/Interactml/site/blob/master/images/title_web.png"> </p>

InteractML is an Unity3d Plugin that enables developers to configure, train, and use Interactive Machine Learning (IML) systems within the game editor. Using visual scripting developers, designers and artists can visualise incoming data, configure game inputs (e.g., specifying what data to extract from sensors or objects in the game); train and refine ML models (by iteratively adding new training examples in realtime); and connect the ML model outputs (the real-time predictions calculated based on the training data) to other objects/scripts in the game scene. In addition, since InteractML doesn't rely on external software, the ML models can be trained and/or refined by player-provided examples in the final version of the game.

Key features

Limitations

Installation

Install InteractML as a released package

The releases page is currently heavily outdated, don't download from there! While we are working to produce a new stable package, try downloading the master branch and see if one the examples scene work for you. You can also download the most up-to-date branch which is VRInterace

Don't download the master branch! It currently contains several dependencies that might break your project. Instead, download one of the relase packages as follows:

1) Download the latest UnityPackage from the InteractML release github page here: https://github.com/Interactml/iml-unity/releases

2) With your unity project open, navigate to the top menu bar and select Assets. In the Assets menu select Import Package, then select Custom Package.

3) Find the downloaded unity package in your file system and click Open. Wait for unity to prepare the package.

4) In the Import Unity Package window that pops up click Import. Wait for unity to import the package.

That’s it! The InteractML folder will appear in your assets folder along with a folder of examples to start you off.

Install InteractML as a git submodule

# initiate git in folder (if not done already)
git clone URL [your_repository]

# go to your repo's folder
cd [your_repository]

# add InteractML as a submodule
git submodule add -b master --force https://github.com/Interactml/iml-unity.git Assets/iml-unity

# If you don't want the clutter from the examples...
# go to iml submodule folder
cd Assets/iml-unity/
# set the iml submodule to only use the Assets folder 
git sparse-checkout init --cone
git sparse-checkout set Assets
# leave submodule folder
cd ../..

Documentation

Visit the wiki to have a look at our how-to guides.

Machine Learning Algorithms

The machine learning back-end is the RapidLib C++ library. RapidLib's implementation mirrors that of Wekinator, whose current choice of algorithms and default parameterisations have been informed by more than a decade of use by creative practitioners, ensuring that they work well off-the-shelf for many IML tasks involving small training sets and human motion modeling tasks. InteractML currently implements:

Dependencies

InteractML is built with