# exokit **Repository Path**: zplan/exokit ## Basic Information - **Project Name**: exokit - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-11-14 - **Last Updated**: 2023-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Exokit

Exokit

:dark_sunglasses: Native VR and AR engine for JavaScript 🦖

DiscordTwitterEmail List
## Examples Hands Reality Tab Live Reload Magic Leap Tutorial Reality Tab Reality Projection with HTC Vive and Magic Leap Emukit Various Exokit Apps *Find more examples [here](https://github.com/exokitxr/exokit/tree/master/examples) and on [YouTube](https://www.youtube.com/channel/UC87Q7_5ooY8FSLwOec52ZPQ).* ## Overview This project **enables developers to build XR experiences using the same code that runs on the web**. Exokit engine is written on top of Node and emulates a web browser, providing native hooks for WebGL, WebXR, WebAudio, and other APIs used in immersive experiences. :eyeglasses: **Exokit currently targets the following platforms**: * OpenVR Desktop VR (Steam compatible) * Oculus Desktop (Oculus Rift/Rift S) * Oculus Mobile (Oculus Quest/Go, GearVR) * Magic Leap * iOS ARKit * * Android ARCore * * Google VR (Daydream / Cardboard / Mirage Solo) * * any XR device, start a [pull request](https://github.com/exokitxr/exokit/compare) with a native binding if it isn't listed here! * \* not supported yet :electric_plug: **Since Exokit supports anything that runs on the web, it powers experiences built with**: * Three.js * Unity * Pixi.js * Babylon.js * A-Frame * Custom WebGL frameworks * WebAssembly, TypeScript, and any language that transpiles to JavaScript :thumbsup: **Why Exokit?** - You want your WebGL/WebXR to run fast. - You want the hot new web APIs. - You want to add your own integrations -- including native -- into a browser environment. - You want a lightweight browser as a hackable node module. - You want to combine the web with a 3D engine like Unity. :thumbsdown: **Why not Exokit?** - You're looking for a traditional "web browser". - You don't care about 3D or mixed reality. - You're looking for strict and/or legacy standards support. :book: **Manifesto** - The future is immersive. The web is the best application platform. Javascript is the best ecosystem. - Content should be hardware agnostic. Tomorrow will have different hardware. VR and AR should be compatible. - It's not possible to do both 2D and 3D well. We don't do 2D. We can use an external 2D browser. - Use your favorite game engine. Exokit is not a game engine. - Legacy browser design choices don't make sense in XR. - Exokit empowers and connect apps, even (especially) if they aren't designed to cooperate. - Apps should run in "reality tabs", layers of reality that blend together. ## Quickstart ### Desktop

Download for current OS

#### Run a WebXR site (desktop) ```sh exokit https://aframe.io/a-painter/ # start A-Painter in Exokit ``` ### Magic Leap

Download for Magic Leap

#### Run (Magic Leap device) ```sh mldb connect 192.168.0.10:1131 # mldb needs to be connected; see MLDB documentation mldb install -u exokit.mpk # downloaded or built package mldb launch com.webmr.exokit -v "ARGS=node . file:///package/examples/hello_ml.html" # or URL to load mldb log exokit:* ``` ## Architecture Exokit is a Javascript [Node.js](https://nodejs.org) module. C++ bindings hook into WebGL, WebXR, Magic Leap, Leap Motion, and various other device APIs. `const {window} = require('exokit')()` to get an immersive browser in another project. Exokit runs on Windows, macOS, Linux (x64), Linux (ARM64), and Magic Leap (ARM64). ## Web API support - HTTP/S - HTML5 - `