All Projects → gjrgj → mltools

gjrgj / mltools

Licence: other
MLDB Unity Editor Bindings

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to mltools

KKRefreshLayout
An android refresh layout, support custom vertical/horizontal refresh.
Stars: ✭ 13 (-40.91%)
Mutual labels:  custom
redux-polyglot
Polyglot.js bindings for Redux
Stars: ✭ 59 (+168.18%)
Mutual labels:  bindings
node-tdlib
TDLib Binding with Telegram Bot API Reimplemention for Node.js
Stars: ✭ 35 (+59.09%)
Mutual labels:  bindings
mask export
Export your mask elements as extension
Stars: ✭ 45 (+104.55%)
Mutual labels:  custom
laravel-auto-binder
Bind interfaces to concrete classes automatically
Stars: ✭ 67 (+204.55%)
Mutual labels:  bindings
lua.cr
Crystal to Lua bridge
Stars: ✭ 56 (+154.55%)
Mutual labels:  bindings
Hotkeys
🔤 A small C# (.NET) Library which allows binding of global HotKeys to any Application's Windows (including Windows Apps such as explorer.exe), even in Background. (using P/Invokes)
Stars: ✭ 66 (+200%)
Mutual labels:  bindings
lualite
a one header library for creating Lua bindings to C++
Stars: ✭ 76 (+245.45%)
Mutual labels:  bindings
mongoose-aggregate-paginate-v2
A cursor based custom aggregate pagination library for Mongoose with customizable labels.
Stars: ✭ 103 (+368.18%)
Mutual labels:  custom
cairo
Package cairo provides full Go bindings for Cairo, a 2D graphics library.
Stars: ✭ 28 (+27.27%)
Mutual labels:  bindings
Crazy-Banner
custom banner editor script for Termux
Stars: ✭ 60 (+172.73%)
Mutual labels:  custom
android manifest
The beginnings
Stars: ✭ 26 (+18.18%)
Mutual labels:  custom
glowforge-material-manager
A simple chrome extension to allow saving custom materials.
Stars: ✭ 17 (-22.73%)
Mutual labels:  custom
SpinningWheelAndroid
Custom Spinning Wheel View for Android
Stars: ✭ 45 (+104.55%)
Mutual labels:  custom
bound
Data-binding made easy
Stars: ✭ 21 (-4.55%)
Mutual labels:  bindings
mini-humidifier
Minimalistic humidifier card for Home Assistant Lovelace UI
Stars: ✭ 129 (+486.36%)
Mutual labels:  custom
crystal-chipmunk
Crystal bindings to Chipmunk, a fast and lightweight 2D game physics library
Stars: ✭ 38 (+72.73%)
Mutual labels:  bindings
x11-rs
Rust bindings for X11 libraries
Stars: ✭ 169 (+668.18%)
Mutual labels:  bindings
Xamarin-Android
PSPDFKit for Android wrapper for the Xamarin platform.
Stars: ✭ 18 (-18.18%)
Mutual labels:  bindings
RAScrollablePickerView
Lightweight HSB color picker view.
Stars: ✭ 39 (+77.27%)
Mutual labels:  custom

Magic Leap Device Bridge Unity Bindings

While jumping into the ML ecosystem I noticed that too often I found myself resorting to command line to interface with the device using MLDB. To simplify my workflow I created Unity Editor bindings for some of the more commonly used options. Here are the requirements:

  1. A version of Unity that supports the Lumin SDK. Can be downloaded from here.

  2. Lumin SDK downloaded from the ML Package Manager here.

  3. Enable MLDB access on your device by going to Settings -> Device -> Creator Mode and selecting Enable MLDB Access.

This photo is self-explanatory for supported features, but you can delve into the code if you're curious about how I've implemented the bindings. The gist of it is that a new process is spawned with every command sent to the device using mldb.exe on Windows and mldb on OSX, and cleaned up once the command is complete. Note that this code by default currently works with only one headset connected to the computer as I imagine most developers are not using more than one headset for prototyping yet. I will add multi-device support in time, and if there is significant interest I'll accelerate it.

MLTools interface

Import the script into an Editor folder in your project to use it. It will appear in the top toolbar under Magic Leap. If you have any suggestions on features you'd like to see added (or if you run into any bugs), please post an issue.

A few notes

  • If you wish to build your project with more options than just being a development build, please go through Unity's Build Settings and not MLTools.
  • File management on-device over MLDB will not work unless a package is marked as a development build. Hopefully ML changes this in the future.
  • The console output is displayed in a window for convenience.
  • Packages are automatically signed by default.
  • Application.persistentDataPath in Unity returns the %packagename%/documents/C2/ folder on device. Files are automatically uploaded into this folder, and List Files returns its contents.
  • I've put in a few checks to squash most potential avenues of bugs, but I'm sure I forgot a few. If you manage to break the interface please let me know and I'll patch that issue.
  • If they don't yet exist, a Build, DeviceFiles, and Logs folder are generated in the root of your project. Builds, downloaded device files, and device logs are saved there respectively.
  • Scenes added to the build are taken from the current selected scenes in Unity's Build Settings.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].