Universal Windows Platform: Debugging on .NET Scripting Backend
When you have a crash, or a weird behavior, always check the player log which is located here - <user>\AppData\Local\Packages<productname>\TempState\UnityPlayer.log. When submitting a bug, please include the player log as well, it can give invaluable information.
Currently it’s only possible to debug C# scripts.
Note: Universal Windows Platform are running with Microsoft .NET, that’s why it’s not possible to debug scripts with MonoDevelop, instead you have to use Visual Studio 2013.
Here are simple steps how to do it:
When building to Universal Windows Platform, check Unity C# projects
This will create Assembly-CSharp-* projects compatible with Universal Windows Apps
Note: if previously Unity C# projects was unchecked, build to empty folder or delete .sln and .csproj, because Unity needs to add references to those files, but if they’ll be present - Unity won’t overwrite them
Open the solution, you should see Assembly-CSharp-* projects included
Place breakpoints in places of interest, and simply start application with the debugger
Exceptions
When you run the application, you can tell Visual Studio to stop during exception. Go to Debug -> Exceptions:
Enable Common Language Runtime Exceptions and Managed Debugging Assistants - for managed exceptions
Enable all exceptions if you’re getting exception in some unknown place
Note: enabling all exceptions will make Visual Studio to stop even at the harmless exceptions like WinRT originate error, WinRT transform error, ignore those and simply continue
Resolving callstack from UnityPlayer.dll
There will be cases when you’ll have a crash in Unity engine itself, you can get useful information if you’re able to resolve the callstack, and provide it in the bug report if needed.
Note: Callstacks from Unity engine can be resolved if .pdb files are available, Unity provides .pdb files for Debug configuration.
Suppose you’ve encountered a crash in Unity engine and hit the breakpoint (Note: Visual Studio can stop at the crash if you enable all exceptions via Debug -> Exceptions menu), go to Debug -> Windows -> Call Stack, Call Stack window should open up, if you don’t see function names from UnityPlayer.dll, that means the symbols weren’t loaded, to fix that, right click on that function and Load Symbols, UnityPlayer.pdb file will be located in [PathToYourProject]>\Players\[Windows80 or Windows81]\[X86 or ARM or X64]\debug.
Microsoft-Windows-TWinUI
This is a log which might provide information why your application didn’t launch without debugger, it can be found in:
Control Panel -> Administrative Tools -> Event Viewer -> Applications And Services Log -> Microsoft -> Windows -> Apps -> Microsoft-Windows-TWinUI/Operational
Is something described here not working as you expect it to? It might be a Known Issue. Please check with the Issue Tracker at issuetracker.unity3d.com.
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thanks for helping to make the Unity documentation better!
Universal Windows Platform: Plugins on .NET Scripting Backend
Universal Windows Platform: IL2CPP scripting back end