Whether you’re using DirectX or Unity to develop your mixed reality app, Visual Studio is your go-to tool for debugging and deployment. In this section, you’ll learn how to:
Start by enabling Developer Mode on your device so Visual Studio can connect to it.
If you’re working with a Windows Mixed Reality headset connected to your PC, you must enable Developer Mode on the PC.
[!VIDEO https://learn.microsoft.com/shows/Docs-Mixed-Reality/Deploying-your-HoloLens-2-application/player?format=ny]
Click the Compilation Options drop down and then do one of the following:
Here are definitions for the compilation options:
Configuration | Explanation |
---|---|
Debug | All optimizations off and the profiler is enabled. Used to debug scripts. |
Master | All optimizations are turned on and the profiler is disabled. Used to submit apps to the Store. |
Release | All optimizations are turned on and the profiler is enabled. Used to evaluate app performance. |
Select your build configuration based on your device.
To learn more about the build configurations, see the “Types of build configurations” table in the Unity documentation.
[!NOTE] For deployment to the HoloLens 2 device, choose the ARM64 or the ARM architecture.
If you don’t see Device as a target option, you may need to change the startup project for the Visual Studio solution from the IL2CPP project to the UWP project. To do this, in the Solution Explorer, right-click your project, and then select Set as StartUp Project.
Click the deployment target drop-down and then do one of the following:
To set your remote connection:
On the menu bar, select Project > Properties > Configuration Properties > Debugging.
[!NOTE] For a C# project, a dialog should automatically appear.
In the Machine Name field, enter the IP address of your device.
You can find the IP address on your HoloLens under Settings > Network & Internet > Advanced Options.
We recommend that you manually enter your IP address rather than depend on the “Auto Detected” feature.
Build, deploy, and debug your app based on your needs:
To build, deploy and start debugging, select Debug > Start debugging.
To build and deploy without debugging, select Build > Deploy Solution.
[!NOTE] If the errors listed below occur when you start debugging an installed UWP application on the HoloLens 2, try renaming your package or uninstalling your UWP application.
“Unable to start debugging”
“Operation not supported. Unknown error: 0x80070057”
To use a Windows Mixed Reality immersive headset that connects to your PC or the Mixed Reality simulator:
The first time you deploy an app from Visual Studio to your HoloLens, you’ll be prompted for a PIN. On the HoloLens, generate a PIN by launching the Settings app, go to Update > For Developers, and tap on Pair. When the PIN is displayed on your HoloLens, type it into Visual Studio. After pairing is complete, tap Done on your HoloLens to dismiss the dialog. This PC is now paired with the HoloLens and you can deploy apps automatically. Repeat these steps for every PC that’s used to deploy apps to your HoloLens.
To unpair your HoloLens from all paired computers:
The Visual Studio Graphics Diagnostics tools are helpful when writing and optimizing a Holographic app. See Visual Studio Graphics Diagnostics on MSDN for full details.
To Start the Graphics Debugger
The Visual Studio profiling tools allow you to analyze your app’s performance and resource use. This includes tools to optimize CPU, memory, graphics, and network use. See Run diagnostic tools without debugging on MSDN for full details.
To Start the Profiling Tools with HoloLens
You can use Visual Studio to debug an installed Universal Windows app without deploying from a Visual Studio project. This is useful if you want to debug an installed app package or debug an app that’s already running.
If you’re following the Unity development checkpoint journey we’ve laid out, you’re in the midst of the deployment stage. From here, you can continue to the next topic:
[!div class=”nextstepaction”] Deploying to HoloLens emulator
Or jump directly to adding advanced services:
[!div class=”nextstepaction”] Advanced services
You can always go back to the Unity development checkpoints at any time.