I received a question a few weeks back about getting the Curved VR Keyboard to work on the HoloLens.
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.
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…