Mixed Reality Toolkit Reflection Extension Method

I received a question a few weeks back about getting the Curved VR Keyboard to work on the HoloLens.

The error message appeared to be a reflection issue. UWP has some issues working with reflection because UWP is not managed. It is native and has a projection that allows us to write JavaScript apps or C# apps (and other languages) and it does the projection. This is really nice because we can write code using the language we like and deploy it to the Windows Store.

However, this means that some of the reflection APIs don’t quite work.

In particular, trying to call GetProperty or the like can cause issues. Fortunately, when it comes to Unity this is solved by the Mixed Reality Toolkit. There is a handy extension method that was created on the system’s Type class. The GetBaseType extension method will return the correct base type for UWP as well as when the code is running in the Unity Editor.

This is done using compiler directives (like #if UNITY_WSA && !UNITY_EDITOR ).

If you are trying to use a Unity Asset Store asset, like the Curved VR Keyboard, on the HoloLens or an immersive headset to run in the Windows Store, then you’ll want to avoid using reflection, or if it is needed, make sure you grab the appropriate base type.

Here is a video I created as I blindly tackled the problem.

HoloValentine One Year Anniversary

Around this time last year, I created a HoloLens app called HoloValentine and released it to the Windows Store. Later last year, sometime in November, I updated the code to have it work on the immersive Mixed Reality (or VR) headsets.

Here’s a little demo of how it works on the IHMD (Immersive Head Mounted Displays). I could have spent some time creating an actual environment, but let’s not talk about what might have been

If you have a IHMD … or a HoloLens, go ahead and try it out. It’s free 🙂


You can also grab the source code at http://chd.me/holovalentine

You can watch the series that was inspired by this game at: http://chadcarter.net/getting-started-with-mixed-reality/

The 4 Simple Steps to Develop Your Own Mixed Reality Experiences… for Fun and Profit!

LHL Webinar

Join me Thursday, February 8th at 10AM over at LearnHoloLens.com where I’ll be talking about…

The 4 Simple Steps to Develop Your Own Mixed Reality Experiences… for Fun and Profit!

This webinar will cover HoloLens development as well as development for the immersive Windows Mixed Reality headsets.

You will not want to miss this! See you on the FREE webinar!

Mixed Reality Game Tutorial Part 13 – Deploying to Devices

This Mixed Reality Game Development Tutorial is the thirteenth and final part in a multi-part series where we created a complete game from scratch.

The goal of this series is to create a full game that will run on the Windows Mixed Reality headsets. While the game is be simplistic in nature, the process shows what all is needed to get a game actually completed.

In this thirteenth session we deployed the game to run on both the immersive headsets as well as on the HoloLens device as well.

I hope you have enjoyed the series.

If you want more in-depth training like this (that is a little more compact) then make sure to checkout LearnHoloLens.com

Part 0: Getting Started with Mixed Reality
Part 1: Setup
Part 2: Core Game Logic
Part 3: Game Controller
Part 4: Motion Controller Support / Input
Part 5: Keeping Score
Part 6: Hiding Items and Disabling Input
Part 7: Displaying Score and Strikes
Part 8: High Scores
Part 9: Adding Animation
Part 10: Implementing Animation
Part 11: Adding Sounds
Part 12: Adding Particles
Part 13: Deploying to Devices