Exokit is a node module. The core is written in Javascript, with native bindings to native functionality like OpenGL. It downloads prebuilt binaries for libraries, which are listed as dependenices.
Note: Using nvm makes it easy to manage multiple active node.js versions.
Requirements: Node.js 12.2.0, Python 2, Visual Studio 2015 or 2017
Alternative requirements: Node.js 12.2.0, as administrator: npm install -g windows-build-tools
- open Node.js command prompt
git clone https://github.com/exokitxr/exokit.git
- run
npm install
Requirements: Node.js 12.2.0, XCode
- open Terminal.app
git clone https://github.com/exokitxr/exokit.git
- run
npm install
Requirements: Node.js 12.2.0
- open bash
- install dependencies:
apt-get install -y build-essential wget python libglfw3-dev libglew-dev libfreetype6-dev libfontconfig1-dev uuid-dev libxcursor-dev libxinerama-dev libxi-dev libasound2-dev libexpat1-dev
git clone https://github.com/exokitxr/exokit.git
- run
npm install
Requirements: Windows Subsystem for Linux, Ubuntu Bash, Node.js 11.15.0 for Windows, Python 2, Python 3
NOTE: Due to combined usage of Ubuntu and Windows tools, you must check out Exokit to somewhere reachable from both; the easiest way is to do your
git clone
inside Ubuntu bash, since for example Ubuntu can reachC:\exokit
as/mnt/c/exokit
. (included in instructions below)
- download developer certificate and private key from https://creator.magicleap.com in Publish then Certificates
- place the renamed certificate in
cert/app.cert
and private key incert/app.privkey
- download Magic Leap Package Manager from https://creator.magicleap.com
- install Magic Leap Lumin SDK
- open Ubuntu Bash on Windows
cd /mnt/c/exokit
git clone https://github.com/exokitxr/exokit.git
- install dependencies:
sudo apt-get install -y build-essential wget python libglfw3-dev libglew-dev libfreetype6-dev libfontconfig1-dev uuid-dev libxcursor-dev libxinerama-dev libxi-dev libasound2-dev libexpat1-dev
export MLSDK=/mnt/c/your_mlsdk_path_goes_here # fill this in
e.g.export MLSDK=/mnt/c/Users/Name/MagicLeap/mlsdk/v0.20.0/
- run
scripts/magicleap/build-ml.sh
Note that, unlike for other target platform you should not run npm install
. If you do remove the node_modules/
directory and clean npm cache.
- download Magic Leap Package Manager from https://creator.magicleap.com
- install Magic Leap Lumin SDK
- open Ubuntu Bash on Windows
cd /mnt/c/exokit
git clone https://github.com/exokitxr/exokit.git
- install dependencies:
sudo apt-get install -y build-essential wget python libglfw3-dev libglew-dev libfreetype6-dev libfontconfig1-dev uuid-dev libxcursor-dev libxinerama-dev libxi-dev libasound2-dev libexpat1-dev
export MLSDK=/mnt/c/your_mlsdk_path_goes_here # fill this in
e.g.export MLSDK=/mnt/c/Users/Name/MagicLeap/mlsdk/v0.20.0/
- run
scripts/magicleap/build-ml.sh --unsigned
Requirements: Windows Subsystem for Linux, Ubuntu Bash, Node.js 11.15.0, Python 2, Python 3, Android SDK, Android NDK
- open bash
- install dependencies:
apt-get install -y build-essential wget python libglfw3-dev libglew-dev libfreetype6-dev libfontconfig1-dev uuid-dev libxcursor-dev libxinerama-dev libxi-dev libasound2-dev libexpat1-dev
- Install Android SDK / NDK and set up the
$ANDROID_HOME
environment variable git clone https://github.com/exokitxr/exokit.git
cd exokit
./scripts/oculusmobile/build-android.sh
./scripts/oculusmobile/install-android.sh
./scripts/oculusmobile/run-android.sh
Notes:
- If you're getting linking errors, try deleting
node_modules
and running the build script again - Make sure you have the
ndk-bundle
within your$ANDROID_HOME
, you might need to create a symlink to a specific folder in thendk
directory if you're using Android Studio - The compiled APK is going to be inside
./app/build/outputs/apk/debug/app-debug.apk
- You can run different files from the
examples
repo with this command:adb shell am start -n com.webmr.exokit/android.app.NativeActivity -e ARGS "'node /package /package/examples/NAME_HERE.html'"
- You can kill the app if it's a black screen with this command:
adb shell am force-stop com.webmr.exokit