Unity Console messages and log files can include detailed stack trace information. The console also links to the line of code that generated the message. This is useful when you want to identify the line, method, or sequence of function calls that caused the log entry to appear.
Tip: Another way to inspect your code is to attach a debugger to the Editor or your built player.
Unity can provide stack trace information for both managed and unmanaged code:
Managed code: Managed DLLs or 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 running in Unity. These can be scripts that ship with Unity, custom scripts that you write, third-party scripts included with an Asset storeA growing library of free and commercial assets created by Unity and members of the community. Offers a wide variety of assets, from textures, models and animations to whole project examples, tutorials and Editor extensions. More info
See in Glossary plug-inA set of code created outside of Unity that creates functionality in Unity. There are two kinds of plug-ins you can use in Unity: Managed plug-ins (managed .NET assemblies created with tools like Visual Studio) and Native plug-ins (platform-specific native code libraries). More info
See in Glossary, or any other C# script that runs in the engine.
Unmanaged code: Native Unity engine code, or code from a native plugin running directly on your machine or on a target build platform. Unmanaged code is usually compiled from C or C++ code. You can only access it if you have the original source code of the native binary. Typically, you will use stack trace for unmanaged code only if you need to determine whether an error is caused by your code or the engine code, and which part of the engine code.
Unity offers three stack trace options:
Resolving a stack trace, especially a full stack trace, is a resource-intensive operation. Some best practices for stack traces include:
Note: The stack trace option is a build setting and affects the built player. It is not a view preference in the Editor.
To specify how much detail to include in the stack trace, you can use the scripting API or the Editor:
To control stack trace logging through the scripting API, use Application.SetStackTraceLogType. You can use the API to change the stack trace setting of a player before it’s built, or while it’s running.
To use the Player Settings window, select File > Build Settings > Player Settings > Other Settings. Rebuild your player with the new setting.
The full text of a message includes references to specific lines in code files with links. Click any link to open the file in your IDE at the referenced line.
Built applications do not output to the Console. To see the stack trace, use the application’s log file.