Skip to content

Commit d94ff6d

Browse files
authored
Merge pull request #7292 from keveleigh/more-docs
Add additional debugging steps for MSB4U and HL2 remoting
2 parents 4968d8e + 7f3bdb1 commit d94ff6d

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

Documentation/Tools/HolographicRemoting.md

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,27 +25,43 @@ configure the project using the following steps.
2525

2626
### Debugging HoloLens 2 remoting via Unity package import
2727

28-
If HoloLens 2 hand joints and eye tracking aren't working over remoting, there are three common points of potential issues. They're listed below in the order they should be checked.
28+
If HoloLens 2 hand joints and eye tracking aren't working over remoting, there are a few common points of potential issues. They're listed below in the order they should be checked.
2929

3030
#### MSBuildForUnity package import via writing into the package.manifest
3131

32-
For the first point, the best way to check is to open Window -> Package Manager and make sure MSBuild for Unity shows up in the packages list. If it's there, assume this step succeeded. If it's not there, try running Mixed Reality Toolkit -> Utilities -> Configure Unity and repeat the steps above for running the MRTK Configurator.
32+
The best way to check is to open Window -> Package Manager and make sure MSBuild for Unity shows up in the packages list. If it's there, assume this step succeeded. If it's not there, try running Mixed Reality Toolkit -> Utilities -> Configure Unity and repeat the steps above for running the MRTK Configurator.
3333

3434
![MSB4U Package Manager](../Images/Tools/Remoting/MSB4UPackageManager.png)
3535

3636
#### DotNetWinRT NuGet package resolution
3737

38-
For the second point, the best way to check is to search the Assets folder for DotNetWinRT.dll. If this doesn't exist, navigate to the Assets folder in the Project view and select `[ProjectName].Dependencies.msb4u.csproj`. Assuming part 1 did succeed, there should be a custom inspector with Build, Rebuild, and Clean buttons. Try clicking Build or Rebuild, and then re-search for DotNetWinRT.dll. If that DLL now exists, this step succeeded.
38+
The best way to check is to search the Assets folder for DotNetWinRT.dll. If this doesn't exist, navigate to the Assets folder in the Project view and select `[ProjectName].Dependencies.msb4u.csproj`. Assuming part 1 did succeed, there should be a custom inspector with Build, Rebuild, and Clean buttons. Try clicking Build or Rebuild, and then re-search for DotNetWinRT.dll. If that DLL now exists, this step succeeded.
3939

4040
![DotNetAdapter Inspector](../Images/Tools/Remoting/DotNetAdapterInspector.png)
4141

42+
#### DotNetAdapter.csproj missing
43+
44+
If the previous step didn't succeed, it's good to double check that the appropriate csproj exists in your project. Check under MixedRealityToolkit.Providers / WindowsMixedReality / Shared / DotNetAdapter and check that DotNetAdapter.csproj exists. One common case where this file might not exist is if your .gitignore ignores csproj files and you've committed the MRTK files to a remote repo. In this case, please make sure you force add DotNetAdapter.csproj with `git add -f [path/to]/DotNetAdapter.csproj` to make sure it gets committed and cloned for all other collaborators or computers.
45+
4246
#### `DOTNETWINRT_PRESENT` #define written into player settings
4347

44-
For the third point, navigate to the Unity Player Settings. From there, under the UWP tab, check under Other Settings for the Scripting Define Symbols. Make sure DOTNETWINRT_PRESENT is properly written in that list. If that's there, this step succeeded.
48+
Navigate to the Unity Player Settings. From there, under the UWP tab, check under Other Settings for the Scripting Define Symbols. Make sure DOTNETWINRT_PRESENT is properly written in that list. If that's there, this step succeeded.
4549

4650
![DotNetWinRT Present](../Images/Tools/Remoting/DotNetWinRTPresent.png)
4751

48-
After all three of those, hand joints over remoting should be working! If not, there might be something misconfigured in the profiles for general hand joints on-device. In that case, please [reach out on one of our help resources](../GettingStartedWithTheMRTK.md#getting-help).
52+
#### Failure to find dotnet.exe
53+
54+
MSBuild for Unity depends on dotnet.exe existing in the system path - dotnet.exe must both be
55+
installed and present in the PATH environment variable. If neither of those requirements are
56+
true, this error may manifest in the Unity console:
57+
58+
```cmd
59+
Win32Exception: ApplicationName='dotnet', CommandLine='msbuild DotNetAdapter.csproj -restore -v:minimal -p:NuGetInteractive=true -t:Build -p:Configuration=Release -nologo', CurrentDirectory='C:\src\Assets\MixedRealityToolkit.Providers\WindowsMixedReality\Shared\DotNetAdapter', Native error= The system cannot find the file specified.
60+
```
61+
62+
The solution to this is to ensure that the [.NET Core CLI tools are installed](https://docs.microsoft.com/dotnet/core/tools/?tabs=netcore2x) and reboot the system to force all apps to get a refreshed system path.
63+
64+
If hand joints over remoting are still not working after following the above steps, there might be something misconfigured in the profiles for general hand joints on-device. In that case, please [reach out on one of our help resources](../GettingStartedWithTheMRTK.md#getting-help).
4965

5066
### Removing HoloLens 2-specific remoting support
5167

0 commit comments

Comments
 (0)