Skip to content
Adrian Wennberg edited this page Nov 9, 2021 · 18 revisions

Bouvet Development Kit

Header.png

Why?

Bouvet Development Kit (BDK) is developed as an alternative to using Mixed Reality Toolkit (MRTK), which is a fairly demanding software used for the development of Augmented Reality applications to the HoloLens and HoloLens 2. BDK is a light-weight alternative to MRTK that simplifies and optimizes the development process of applications and reduces build times and compile times for developing on the HoloLens.

Fast facts:

  • BDK is built for Unity 2020.4.x.
  • BDK only works for HoloLens 2.
  • BDK has a lightweight hand-tracking implementation, voice recognition and gaze implementation.
  • BDK gives the developer access to the tools needed to make an AR application for the HoloLens.
  • Reduces the build times for HoloLens applications from around 10 minutes to 2 minutes (from Unity starts building until the app is open on the HoloLens).

Goal?

  • Decrease wait time for building applications, thereby increasing efficiency.
  • Reducing the compile time for context change and project opening/initialization.
  • Make it simpler and faster to create mockups.

How to add BDK to Unity?

Check out the Readme

How to add samples?

You can see how to add samples by checking out Samples.

Where to start?

You can start with the overview of the Software Architecture of BDK.

Alternatively you can look at the classes from the Examples package.

If you want to get right into testing the BDK check out the description of the BDK HoloLens 2 Prefab.

Terminology

  • Hololens: The HoloLens object in the scene. It has a Camera, AudioListener as well as a few custom scripts.
  • InputManager: The main class that a developer must use when using BDK. This holds all necessary events and updates.
  • InputSettings: The class that toggles which functionality exists in the application.
  • InputSource: A class that holds a reference to all the different variables in an input source. There is only one of each input source.

TL;DR

Bouvet Development Kit replaces MRTK. To get started:

  1. Create a new scene and delete the camera.
  2. Add the BDK Hololens 2 Prefab to the scene.
  3. Use the class InputSettings on the child object InputManager to select what functionality is needed. The Functionality Creator script will generate the necessary prefabs.
  4. Use any examples/prefabs that you need. Prefabs are in the Prefabs folder and example scripts in Scripts/Runtime/Examples.
  5. For your custom scripts: only access BDK using the events and public functions found in InputManager. Either connect your scripts directly or save a reference to InputManager.Instance in the start method (NOT AWAKE).
  6. For debugging and using testing the application directly in the Unity Editor, read BdkLogger, WASDMovement and MouseInteractions