One of the great things that the HoloToolkit allows you to do is automatically set the settings required for the HoloLens in your scene.
This menu item does four things:
Sets the main camera position to (0, 0, 0)
Clears the camera skybox and sets the background to Black (0, 0, 0, 0)
Updates the near clipping plane from 0.3 to 0.85
Updates the main camera field of view from 60 to 16
These settings are all necessary for the HoloLens camera to be work as intended. The menu just allows you to set it all in one easy place, and makes sure you don’t accidentally forget a setting that could cause you a lot of time trying to troubleshoot.
Click the HoloToolkit Menu in the File Bar
Click the Configure option
Click the Apply HoloLens Scene Settings option
A new window will pop open that will let you select which items you want done. All four options will be checked by default. When the correct items are checked, click the apply button, and you are all set.
I have been noticing a trend in the Windows Mixed Reality development community regarding the use of the HoloToolkit: It seems you either use the HoloToolkit, and swear by having it in your projects, or you don’t, either because you are not aware of it, or don’t understand how it’s designed to help. (This is a generalization, but based on a lot of conversations with developers, it seems to hold fairly true.)
What is the HoloToolkit?
The HoloToolkit is an open source project that is controlled and maintained by Microsoft and hosted on GitHub. The original commit to the project was made on January 28, 2016, which was actually a few months before the HoloLens was released to general developers via the Wave process. The project was initially used in support of the Microsoft Academy Tutorials for HoloLens, however as is the nature of open source projects, the HoloToolkit rapidly started to evolve, faster than the Academy Tutorials could be updated. This has caused some confusion for new developers who follow the tutorials, and then run into difficulty when they go attempt to recreate the tutorials in their own projects using the HoloToolkit and find it to be very different.
At the time of writing this post, there have been 1,454 commits to the project. The project has been broken out into sections based on functionality. Some of the sections include Input, Spatial Mapping, Spatial Understanding, Sharing, Utilities, etc.
Why you should use the HoloToolkit
The HoloToolkit allows you to rapidly implement sections of your project in a consistent and standard way. Some of the things the HoloToolkit can do to save you time and effort include the following:
Setting all project settings needed for Mixed Reality Development.
Setting all scene settings needed for Mixed Reality Development.
Allowing one click build and deploy directly from Unity.
Provides standard interfaces to implement input.
Provides prefabs for spatial mapping and understanding to allow those to be used quickly and easily.
Provides optimized shaders and materials for use with HoloLens
There are lots of other reasons for using the HoloToolkit, these are just among the most useful to me.
I am a very big believer and proponent of the HoloToolkit. In my opinion if you are not using it for your development on the Windows Mixed Reality Platform, you are doing yourself a massive disservice, and making it much more likely that you will introduce a bug into your application while solving a problem or implementing a solution that has already been solved.
As we work through these tutorials on the HoloToolkit, I realize that we need a post on how to install the HoloToolkit in your project. While there are many ways to do so, here is my favorite. First, navigate to https://holotoolkit.download. This is a site created and maintained by @withinrafael that creates a Unity Package file each time there is an accepted pull request in the HoloToolkit-Unity project. On the site, the packages are shown with the most recent at the top. You will also see info about what items were included in the latest pull request(s) that triggered the build. Clicking on the package name will cause it to download.
Once you have the package downloaded, you can open your Unity HoloLens project. Once the project is loaded, to import the package, click on the Assets menu, then select Import Package -> Custom Package. This will open a file picker where you can select the package you downloaded earlier. Once you click open, a status bar will show up while it reads the package, and then another window will open that will show all the contents of the package, in this case, the HoloToolkit-Unity items.
You can actually pick and choose what items you wish to import or not this way. This is a handy feature when you are bringing an updated package into an existing project, as this window will show you which files are new, changed, or remain the same.
As a general rule, unless my project is going to implement sharing, I tend to not import that portion of the HoloToolkit. There are some special things needed to make that section compile in your project, and I don’t find it worth the time if I am not doing any sharing in my project.
Once you have the items you want selected, click the import button and the package will load into your project.
If anyone has further questions or comments, please feel free to speak up in the comments section!
Welcome to the blog for Roarke Software. We decided that it was important for us to be able to give a rundown on our thoughts about the simulator built into the Mixed Reality Portal app on the latest Windows Insider build, and rather than type those thoughts dozens of times as we are asked by various people, we figured we would put it in one place and send people here.
On Friday, March 3rd, Microsoft pushed Windows 10 Insider Build 15048 to the Insiders on the Fast Ring. In the Holodevelopers Slack community, Adam Hines, followed minutes later by Raven Zachary, brought up the fact that the Mixed Reality Portal application was further along, and in fact, was allowing simulation. This was a huge, unannounced revelation. Within minutes it seemed a few people were reporting on the ability to “walk” around in the virtual cliff-side house that Microsoft seems to be using as your default mixed reality home space. At this point I had already signed off for awhile, so I missed a bunch of discussion about it, but it seemed like people were having various degrees of success interacting with it.
Later that evening when I sat down to catch up on what had happened in the Slack community, Sean Ong had posted a video he shot showing it. It’s pretty awesome to watch. Some of the highlights include the ability to teleport around the house, the use of mesh fences to keep you from running into real walls/objects, and the ability to use your real computer desktop inside the virtual space (this was confirmed later by Adam, as Sean could not get the application to launch).
So, where does this leave us? Very excited to say the least.
First, what we love:
We love the idea of this home space that we can set up with different applications in spaces that provide the right context. HoloLens is good at letting you do anything anywhere, but there are some tasks that seem to work better if you are doing them in the right context. So things like having your computer desktop and edge at your virtual desk makes a lot of sense to us.
We love that we have the option of actually moving around the space, or using teleport for locomotion.
The portal hints at Six Degree Of Freedom controllers that are location aware, so this is pretty exciting.
The world feels very well put together, and even showcases what it means to design an app for VR.
Next, what we are disappointed by:
First and foremost, we are disappointed that we don’t have a headset to try this out in real life yet. But that’s not really anything against the platform.
It’s a shame that the 3D widget applications, or even live tiles that Microsoft has been showing in videos from the beginning are still not available for developers. This is one of the biggest questions we get asked, and it’s something we feel Microsoft needs to address soon.
We are very excited to see where this all goes, and where the developers can help really promote this platform and make it the go-to place for hardware manufacturers, consumers, and developers to be.