relativty / wrmhl

(Archived) Simple communication between Unity3D and Arduino - by Maxim xyz.
MIT License
643 stars 63 forks source link
arduino hardware hardware-libraries iot iot-framework threading threadsafe unity


Super fast communication between Unity and Arduino ☄ ⏱

Create an Arduino and Unity3D interactive experience with no latency ! ⏱

Arduino to Unity made simple

If you have ever wanted to transmit data from Arduino to Unity3D the main issue is INSANE LATENCY. We didn’t find any free, optimized, and customizable solutions to tackle this problem. So I built wrmhl. You can now connect any Arduino interface to Unity3D.

You can use the default protocol, or implement your own without having to deal with thread just by changing wrmhl/Assets/WRMHL/Scripts/Thread/wrmhlThread_Lines.cs.

Getting Started

How to Install

You can either install it using Git or direct Download. Or from the command line:

# Clone this repository
$ git clone https://github.com/relativty/wrmhl

Uploading to Arduino 🤖

Upload to the Arduino the following program:

Path: wrmhl/Arduino/Arduino.ino

On Unity3D ! 💻

Open the project either from wrmhl folder or wrmhl-master 🌈

Import the Package ! 📦

Assets, Import Package and Custom Package.. and you're good to GO ! ⚡️

Important ! ⚠ Change the .NET 2.0 Subset to .NET 2.0 ⚠

In order to do that : Go to Edit ➭ Then Project SettingsPlayer, and under Other Settings find an option that reads Api Compatibility Level and change it from ".NET 2.0 Subset" to ".NET 2.0".

Run it ! 🏁 🚗

Select Assets/WRMHL/DemoScenes and choose the demo of your choice !

Don't forget to leave some feedback, contributions and suggestions are always welcome ! 🤝