AR / VR HoloLens Windows

How to set up HoloLens Spectator View, Bonus – Troubleshooting

Did you follow the blog post series on setting up Spectator View for HoloLens? The following issues frequently occurred when testing Spectator View. To make your life easier, make sure you check these troubleshooting tips & tricks:

HoloLens Sharing Offset

Between your two HoloLenses, there can be some offset in the placing of the holograms. In one HoloLens, you can for example position your hologram directly on the table; on the second HoloLens, it’s one meter next to the table.

It generally takes time for multiple HoloLenses to synchronize. Additionally, the SpectatorView code has some code to share the spatial mapping data to the Compositor. But If you walk around the room with both HoloLens devices and the offset doesn’t disappear, I’ve found that deleting the recorded Space in the HoloLens settings on all involved HoloLenses is the best way to improve the offset.

To do this, on your HoloLens, go to Settings > System > Spaces. The space you’re currently in is usually on the top of the list and marked with the word “Active”. Simple delete it, wait a bit, and walk around in the room once again to let the HoloLens re-build the space mapping.

Unity Crash

A few seconds after starting the live view in the Compositor by pressing the Play button in Unity, it’s common that Unity crashes. For me, this usually happened with the following info in the error log created by the Unity crash reporter:

mono.dll caused an Access Violation (0xc0000005)
  in module mono.dll at 0033:d76c4f77.

After some despair, I’m incredibly happy that I’ve found a remarkably simple workaround that works from time to time. Not reliably, but better than nothing.

First, launch the app on both HoloLens devices and press Play in Unity. Only after everything is running, start the Sharing Service in Unity through HoloToolkit > Sharing Service > Launch Sharing Service…

All three devices (2x HoloLens, 1x server PC/Unity) will immediately connect to the server and everything should continue running without crashing. Keep trying if Unity still crashes.

I didn’t submit a bug report to Unity so far. First, I’m not using the very latest Unity version (as that has some issues with HoloLens at the time of writing). And most importantly, it’s obvious that this crash is related to the code from the Compositor component provided by Microsoft, and the fault is not inside Unity.

Camera Capturing – Green Screen

Sometimes when starting the Compositor in Unity, you only get a green or black picture instead of the live camera stream from your DSLR.

Usually, the green screen was easy to fix by stopping Play Mode again in Unity and restarting until the app managed to get the camera capturing right.

In case of a black screen, it usually helps to start the Blackmagic Media Express app on your PC in case you’re using the Blackmagic Intensity Shuttle. Check if you can still see the camera view through this app. It can happen that the PC lost the connection to the capturing device. If you don’t see your capturing device in the Device menu of the app anymore, try restarting Windows and it should work again.

Everything working for you?

With these workarounds, I’ve been able to fix the most critical issues with Spectator View and got it to work. Unfortunately, it often still requires several restarts until the compositor doesn’t crash at start-up.

But the good news is that once it’s running, it keeps running as long as you need! Just make sure you don’t launch Spectator View only a few seconds before your presentation starts and you should be fine 🙂

HoloLens Spectator View blog post series

This post is part of a short series that guides you through integrating HoloLens Spectator View into your own Mixed Reality app: