SlideShare a Scribd company logo
1 of 14
HoloToolkit for Unity
Gaze & Voice
Dmitri Bouianov
HoloLens Developer
Background
• Waterloo CS, 16 years software engineering
• Unity + AR/VR/MR + full-stack development
• Multiple startups, technical & product roles
• Looking for experts: Unity, graphics, shaders
Overview
• HoloToolkit is an open-source framework
brought to you by the Microsoft HoloLens
team
• Encapsulates and simplifies key concepts
of working with HoloLens: Gaze, Gesture,
Voice, Spatial Audio, Spatial Perception
• Today: Gaze & Voice Recognition
Gaze & Keyword Managers
• HoloToolkit provides GazeManager prefab for getting
information about objects hit with user’s gaze
• HoloLens Unity SDK provides KeywordRecognizer API
to register voice commands and trigger event
callbacks
• Example: “Bigger”, “Smaller” to adjust object size
• HoloToolkit adds KeywordManager prefab for
registering keywords and handlers in Unity Editor
Problem
• Scenario: Looking at objects instantiated at runtime and
sending voice commands to those objects
• Problem: Objects need to exist in scene hierarchy to register
keywords and event handlers in KeywordManager
• Workaround: OnSelect sent by GestureManager,
OnGazeEnter & OnGazeLeave sent by GazeManager +
multiple dynamically created KeywordRecognizers
• Ideal: No boilerplate code when using voice commands +
solution that scales with large number of objects
Problem
Solution
• FocusedObjectMessageSender component is a proxy
that sends keyword events to any currently focused
object
FocusedObjectMessageSender
Solution
• SelectedObjectMessageSender component adds
persistent selection to explicitly select objects for voice
interaction
SelectedObjectMessageSender
Outcome
• Now: Sending voice commands to focused and
selected objects is easy, no code required
• Simple: Modular architecture decouples message
senders from message receivers
• Next: Automatic registration of keywords from
holographic UI elements and other objects
• Challenges: String message performance + type
safety
Join the Community!
• Discuss issues and challenges on HoloLens
Developer Forums & at HoloLens meetups
• Recognize common problems that can be solved
for everyone with some minimal code
• Fork HoloTookit-Unity on Github, open issues,
submit pull requests, address code reviews
• Spread the word and help grow the community
Thank You!
• @rocketalien
• dmitri@rocketalien.com
• http://rocketalien.com
Resources
• HoloToolkit for Unity
https://github.com/Microsoft/HoloToolkit-Unity
https://github.com/Microsoft/HoloToolkit-Unity/issues/71
https://github.com/Microsoft/HoloToolkit-Unity/pull/72
https://github.com/Microsoft/HoloToolkit-Unity/pull/69
• HoloLens Developer Forums
http://forums.hololens.com
• WinHUGR
http://www.meetup.com/Windows-Holographic-User-
Group-Redmond

More Related Content

Similar to HoloToolkit for Unity - Gaze & Voice

Azure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combinationAzure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combinationAlexander Meijers
 
SharePoint Saturday Warsaw 2018 21st-century lunchbell
SharePoint Saturday Warsaw 2018 21st-century lunchbell SharePoint Saturday Warsaw 2018 21st-century lunchbell
SharePoint Saturday Warsaw 2018 21st-century lunchbell Thomas Gölles
 
Code europe holobasics - develop your mixed reality hololens app with unity...
Code europe   holobasics - develop your mixed reality hololens app with unity...Code europe   holobasics - develop your mixed reality hololens app with unity...
Code europe holobasics - develop your mixed reality hololens app with unity...Alexander Meijers
 
Introduction to HoloLens development
Introduction to HoloLens developmentIntroduction to HoloLens development
Introduction to HoloLens developmentMark Blomsma
 
SharePoint Saturday Belgium 2018 A 21st century lunch bell
SharePoint Saturday Belgium 2018 A 21st century lunch bellSharePoint Saturday Belgium 2018 A 21st century lunch bell
SharePoint Saturday Belgium 2018 A 21st century lunch bellThomas Gölles
 
Current state of mobile development february 2013
Current state of mobile development february 2013Current state of mobile development february 2013
Current state of mobile development february 201359offers
 
Designing XR Experiences with Speech & Natural Language Understanding in Unity
Designing XR Experiences with Speech & Natural Language Understandingin UnityDesigning XR Experiences with Speech & Natural Language Understandingin Unity
Designing XR Experiences with Speech & Natural Language Understanding in UnityNick Landry
 
Highlights from MS build\\2016 Conference
Highlights from MS build\\2016 ConferenceHighlights from MS build\\2016 Conference
Highlights from MS build\\2016 ConferenceEastBanc Tachnologies
 
3 different flavours of building chatbots with Microsoft
3 different flavours of building chatbots with Microsoft3 different flavours of building chatbots with Microsoft
3 different flavours of building chatbots with MicrosoftSammy Deprez
 
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...melbats
 
Architecture app
Architecture appArchitecture app
Architecture appYnon Perek
 
It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...Alexander Meijers
 
How we build project for Open Source
How we build project for Open SourceHow we build project for Open Source
How we build project for Open SourceAlexander Zayats
 
Making HTML5 Games with Phaser
Making HTML5 Games with PhaserMaking HTML5 Games with Phaser
Making HTML5 Games with PhaserIndieOutpost
 
Localization: How to do a global project
Localization: How to do a global projectLocalization: How to do a global project
Localization: How to do a global projectAlconost
 
Code camp HoloLens Build and Deploy
Code camp HoloLens Build and DeployCode camp HoloLens Build and Deploy
Code camp HoloLens Build and DeploySarah Sexton
 
Holo basics develop your mixed reality hololens app with unity and visual s...
Holo basics   develop your mixed reality hololens app with unity and visual s...Holo basics   develop your mixed reality hololens app with unity and visual s...
Holo basics develop your mixed reality hololens app with unity and visual s...Alexander Meijers
 
Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...Alexander Meijers
 

Similar to HoloToolkit for Unity - Gaze & Voice (20)

Azure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combinationAzure thursday HoloLens and cognitive services a powerful combination
Azure thursday HoloLens and cognitive services a powerful combination
 
SharePoint Saturday Warsaw 2018 21st-century lunchbell
SharePoint Saturday Warsaw 2018 21st-century lunchbell SharePoint Saturday Warsaw 2018 21st-century lunchbell
SharePoint Saturday Warsaw 2018 21st-century lunchbell
 
Code europe holobasics - develop your mixed reality hololens app with unity...
Code europe   holobasics - develop your mixed reality hololens app with unity...Code europe   holobasics - develop your mixed reality hololens app with unity...
Code europe holobasics - develop your mixed reality hololens app with unity...
 
Introduction to HoloLens development
Introduction to HoloLens developmentIntroduction to HoloLens development
Introduction to HoloLens development
 
SharePoint Saturday Belgium 2018 A 21st century lunch bell
SharePoint Saturday Belgium 2018 A 21st century lunch bellSharePoint Saturday Belgium 2018 A 21st century lunch bell
SharePoint Saturday Belgium 2018 A 21st century lunch bell
 
Current state of mobile development february 2013
Current state of mobile development february 2013Current state of mobile development february 2013
Current state of mobile development february 2013
 
Designing XR Experiences with Speech & Natural Language Understanding in Unity
Designing XR Experiences with Speech & Natural Language Understandingin UnityDesigning XR Experiences with Speech & Natural Language Understandingin Unity
Designing XR Experiences with Speech & Natural Language Understanding in Unity
 
Highlights from MS build\\2016 Conference
Highlights from MS build\\2016 ConferenceHighlights from MS build\\2016 Conference
Highlights from MS build\\2016 Conference
 
3 different flavours of building chatbots with Microsoft
3 different flavours of building chatbots with Microsoft3 different flavours of building chatbots with Microsoft
3 different flavours of building chatbots with Microsoft
 
HoloLens
HoloLensHoloLens
HoloLens
 
Unity Tipps and Tricks
Unity Tipps and TricksUnity Tipps and Tricks
Unity Tipps and Tricks
 
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
EclipseCon Fr 2018 - The future of development tooling: The example of Eclips...
 
Architecture app
Architecture appArchitecture app
Architecture app
 
It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...It next summit - holobasics - develop your mixed reality hololens app with un...
It next summit - holobasics - develop your mixed reality hololens app with un...
 
How we build project for Open Source
How we build project for Open SourceHow we build project for Open Source
How we build project for Open Source
 
Making HTML5 Games with Phaser
Making HTML5 Games with PhaserMaking HTML5 Games with Phaser
Making HTML5 Games with Phaser
 
Localization: How to do a global project
Localization: How to do a global projectLocalization: How to do a global project
Localization: How to do a global project
 
Code camp HoloLens Build and Deploy
Code camp HoloLens Build and DeployCode camp HoloLens Build and Deploy
Code camp HoloLens Build and Deploy
 
Holo basics develop your mixed reality hololens app with unity and visual s...
Holo basics   develop your mixed reality hololens app with unity and visual s...Holo basics   develop your mixed reality hololens app with unity and visual s...
Holo basics develop your mixed reality hololens app with unity and visual s...
 
Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...Code motion - Extend visualization of microsoft graph data to hololens applic...
Code motion - Extend visualization of microsoft graph data to hololens applic...
 

Recently uploaded

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

HoloToolkit for Unity - Gaze & Voice

  • 1. HoloToolkit for Unity Gaze & Voice Dmitri Bouianov HoloLens Developer
  • 2. Background • Waterloo CS, 16 years software engineering • Unity + AR/VR/MR + full-stack development • Multiple startups, technical & product roles • Looking for experts: Unity, graphics, shaders
  • 3. Overview • HoloToolkit is an open-source framework brought to you by the Microsoft HoloLens team • Encapsulates and simplifies key concepts of working with HoloLens: Gaze, Gesture, Voice, Spatial Audio, Spatial Perception • Today: Gaze & Voice Recognition
  • 4. Gaze & Keyword Managers • HoloToolkit provides GazeManager prefab for getting information about objects hit with user’s gaze • HoloLens Unity SDK provides KeywordRecognizer API to register voice commands and trigger event callbacks • Example: “Bigger”, “Smaller” to adjust object size • HoloToolkit adds KeywordManager prefab for registering keywords and handlers in Unity Editor
  • 5. Problem • Scenario: Looking at objects instantiated at runtime and sending voice commands to those objects • Problem: Objects need to exist in scene hierarchy to register keywords and event handlers in KeywordManager • Workaround: OnSelect sent by GestureManager, OnGazeEnter & OnGazeLeave sent by GazeManager + multiple dynamically created KeywordRecognizers • Ideal: No boilerplate code when using voice commands + solution that scales with large number of objects
  • 7. Solution • FocusedObjectMessageSender component is a proxy that sends keyword events to any currently focused object
  • 9. Solution • SelectedObjectMessageSender component adds persistent selection to explicitly select objects for voice interaction
  • 11. Outcome • Now: Sending voice commands to focused and selected objects is easy, no code required • Simple: Modular architecture decouples message senders from message receivers • Next: Automatic registration of keywords from holographic UI elements and other objects • Challenges: String message performance + type safety
  • 12. Join the Community! • Discuss issues and challenges on HoloLens Developer Forums & at HoloLens meetups • Recognize common problems that can be solved for everyone with some minimal code • Fork HoloTookit-Unity on Github, open issues, submit pull requests, address code reviews • Spread the word and help grow the community
  • 13. Thank You! • @rocketalien • dmitri@rocketalien.com • http://rocketalien.com
  • 14. Resources • HoloToolkit for Unity https://github.com/Microsoft/HoloToolkit-Unity https://github.com/Microsoft/HoloToolkit-Unity/issues/71 https://github.com/Microsoft/HoloToolkit-Unity/pull/72 https://github.com/Microsoft/HoloToolkit-Unity/pull/69 • HoloLens Developer Forums http://forums.hololens.com • WinHUGR http://www.meetup.com/Windows-Holographic-User- Group-Redmond