/Bololens

Primary LanguageC#MIT LicenseMIT

Bololens

Summary

Bot + Hololens = Bololens

This repo provides a nice and easy integration of Chat Bot Clients in Unity application targeting UWP platforms. It is mainly developed for Hololens integration.

As bots and Conversation as a Platform are addressing a new way of interacting through Natural UI, it sounds obvious that bots could have a Digital Identity and Representation. What could be better than Mixed Reality to address the issue?

As we are working in Unity you can find the main project under the BoUnity folder (Bot + Unity = ...)

The only currently supported bot framework is the Microsoft Bot framework with the know following Limitations.

TL;DR

  1. Import the entire content from the bololens.unitypackage from the Dist folder in your Unity application.
  2. Drag the Bololens Prefab from the Bololens/Prefabs folder in your scene.
  3. Customize the Url or Token from the BotBrain component to either your Bot Token or a service emitting tokens. UrlOrToken
  4. Customize your action keywords like Activation and Desactivation in the bot brain component. Keywords
  5. Run in the editor. As Text To Speech and Speech To Text are not available in the editor, you can use the Embedded GUI to interac with the bot.
  6. Deploy in Hololens. Use Voice Commands through the configured Activation keywords to start discussing with your bot.
  7. VoilĂ 

Base Principles and caracteristics

As the bot personnification is trying to mimic Natural User interactions, His caracteristics should be close from humans once. The bot has then be splitted in a bunch of isolated reusable and customizable sections all available through their respective Unity Components:

  1. Brain or Intelligence: The orchestrator and main compute of all the other caracteristics.
  2. Materialisation: The Digital body of the bot containing all the visualisations and animations.
  3. Hearing: The component responsible of listening for inputs (Voice or GUI).
  4. Speech: This gives our bot a voice !
  5. Sight: The bot can now see your world as well as holograms but still no XRay vision.
  6. Personality: Depending on the messages exchanged, the bot feelings can evolve. A few Personalities are built in (Normal, Crazy...)
  7. Memory: All your discussions might now have a long term impact.
  8. Networking: Remote Service Connectivity providing web access to the bot.

Going Further

  1. Keywords configuration
  2. Debug configuration
  3. Extensibility
  4. Limitations

Conclusion

A simple proof of Concept where you might find reusable components to build your own Unity Bot Client.