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# scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary.
Note: Universal Windows PlatformAn IAP feature that supports Microsoft’s In App Purchase simulator, which allows you to test IAP purchase flows on devices before publishing your application. More info
See in Glossary are running with Microsoft .NET, that’s why it’s not possible to debug scripts with MonoDevelopAn integrated development environment (IDE) supplied with Unity 2017.3 and previous versions. From Unity 2018.1 onwards, MonoDevelop is replaced by Visual Studio. More info
See in Glossary, instead you have to use Visual Studio 2013.
Here are simple steps how to do it:
When you run the application, you can tell Visual Studio to stop during exception. Go to Debug -> Exceptions:
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
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.
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
• 2017–05–16 Page amended