Лог файлы
Бывают случаи, когда вам требуется получить информацию из логов вашей webplayer сборки, вашего standalone проигрывателя, устройства, на котором вы запускали своё приложение или из редактора. Обычно вам требуется сперва найти эти логи, если у вас возникла проблема и вы хотите узнать что пошло не так.
На Windows логи webplayer’а и редактора находятся в скрытых папках, которые не видны по умолчанию в Проводнике Windows. См. ниже.
Редактор
Лог редактора можно открыть прямо в Unity с помощью меню Open Editor Log в окне Console.
| Mac OS X | |
| Windows XP | C:\Documents and Settings\имяпользователя\Local Settings\Application Data_\Unity\Editor\Editor.log |
| Windows Vista/7 | C:\Users\имяпользователя\AppData\Local\Unity\Editor\Editor.log |
На Windows, файл лога редактора находится в локальной папке данных приложений (AppData): %LOCALAPPDATA%\Unity\Editor\Editor.log, где LOCALAPPDATA соответствует значению в CSIDL_LOCAL_APPDATA.
Webplayer
/Library/Logs/Unity/WebPlayer.log and Player.log
На Windows лог webplayer’а хранятся во временной папке: %TEMP%\UnityWebPlayer\log\log_UNIQUEID.txt, где TEMP соответствует значению GetTempPath.
Standalone проигрыватель
/Library/Logs/Unity/Player.log
/.config/unity3d/ИмяКомпании/ИмяПродукта/Player.log
Учтите, что у Windows и Linux standalone сборок расположение лог файла можно менять (или вообще отключать ведение лога). См. страницу о командной строке для дополнительной информации.
Лог устройства можно просматривать в XCode через GDB консоль или Organizer Console. Последнее полезно для получения логов “падения”, когда ваше приложение не было запущено через отладчик XCode.
The Troubleshooting and Bugreporting guides may be useful for you.
Android
Лог устройства можно просматривать через консоль logcat. Используйте приложение adb (которое находится в папке Android SDK/platform-tools directory ) с параметром logcat :
Tizen
Лог устройства можно просматривать через sdb console. Используйте приложение sdb (которое находится в папке Tizen SDK/tools directory ) с параметром dlog в конце:
If you would like to only see messages from Unity you may add a filter. The filter specification is similar to that for Android. The following command will display only messages for the Unity log.
Windows Store
| Windows Store Apps (On Desktop) __ | %userprofile%\AppData\Local\Packages |
WebGL
On WebGL, log output is written to the browser’s JavaScript console.
Доступ к лог файлам в Windows
Debug.Log
Success!
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Submission failed
For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
Declaration
Declaration
Parameters
| message | String or object to be converted to string representation for display. |
| context | Object to which the message applies. |
Description
Logs a message to the Unity Console.
Use Debug.Log to print informational messages that help you debug your application. For example, you could print a message containing a GameObject.name and information about the object’s current state.
You can format messages with string concatenation:
Debug.Log(«Text: » + myText.text);
You can also use Rich Text markup.
Example 1: Show some uses of Debug.Log:
Example 2: Show selection of a clicked GameObject:
Note that Unity also adds Debug.Log messages to the Editor and Player log files. See Log Files for more information about accessing these files on different platforms.
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.
Copyright ©2021 Unity Technologies. Publication Date: 2021-11-26.
Log files
Unity produces log files for the Editor, package manager, and development players. You can use these log files to understand where any problems happened in your application.
Unity adds all messages, warnings, and errors from the Console window A Unity Editor window that shows errors, warnings and other messages generated by Unity, or your own scripts. More info
See in Glossary to the log files. To add your own messages to the Console window, and the logs, use the Debug class.
Each operating system stores the log files in different locations. The default locations are outlined on this page, but you can also use certain command line arguments to control when and where Unity generates log files. For more information, see the Command line arguments documentation.
Editor-related log locations
You can access the Editor logs from the console window. To do this, open a Console Window (menu: Window > General > Console) and select Open Editor Log from the Console window menu.
Linux
| Log type | Log location |
|---|---|
| Editor | |
| Package manager |
macOS
On macOS, you can also access Unity’s logs via the Console.app utility
| Log type | Log location |
|---|---|
| Editor | |
| Package manager |
Windows
On Windows, the Package Manager and Editor logs are placed in folders which aren’t shown in the Windows Explorer by default. To view the AppData folder, you must enable the Hidden Items setting on Windows. For more information on how to do this, see Microsoft’s documentation on View hidden files and folders in Windows.
| Log type | Log location | |||||
|---|---|---|---|---|---|---|
| Editor | %LOCALAPPDATA%\Unity\Editor\Editor.log | |||||
| Package manager | User account: %LOCALAPPDATA%\Unity\Editor\upm.log SYSTEM account: %ALLUSERSPROFILE%\Unity\Editor\upm.log | |||||
| Crash files | %TMP%\CompanyName\ProductName\Crashes Player-related log locationsTo view the Player log, open a Console Window (menu: Window > General > Console) and select Open Player Log from the Console window menu. You can also navigate to the following folder: Файлы логовБывают случаи, когда вам требуется получить информацию из логов вашей сборки, с вашего устройства устройства или из редактора. Обычно вам требуется сперва найти файлы этих логов, чтобы узнать, что происходит. В MacOS логи плеера и редактора можно получить с помощью стандартной утилиты Console.app. В Windows логи редактора находятся в скрытых папках, которые не видны по умолчанию в Проводнике Windows. См. ниже. РедакторЛоги редактора можно открыть прямо в Unity с помощью кнопки Open Editor Log в окне Console.
В MacOS можно получить доступ ко всем логам с помощью стандартной утилиты Console.app. On Windows, the Editor log file is stored in the local application data folder \Unity\Editor\Editor.log, where is defined by CSIDL_LOCAL_APPDATA. Плеер/Library/Logs/Unity/Player.log | |||||
| Windows | C:\Users\username\AppData\LocalLow\CompanyName\ProductName\output_log.txt | |||||
| Linux |
Note that on Windows and Linux standalones, the location of the log file can be changed (or logging suppressed). See documentation on Command line arguments for further details.
Лог устройства можно просматривать в XCode через GDB консоль или Organizer Console. Последнее полезно для получения логов “падения”, когда ваше приложение не было запущено через отладчик XCode.
The Troubleshooting and Reporting crash bugs guides may be useful for you.
Android
Лог устройства можно просматривать через консоль logcat. Используйте приложение adb (которое находится в папке Android SDK/platform-tools directory) с параметром logcat:
Universal Windows Platform
| Device | Файлы логов |
|---|---|
| Desktop | %USERPROFILE%\AppData\Local\Packages |
\TempState\UnityPlayer.log
WebGL
On WebGL, log output is written to the browser’s JavaScript console.
Доступ к лог файлам в Windows
On Windows, the log files are stored in locations that are hidden by default.
На Windows Vista/7 вы можете сделать видимой папку AppData в Проводнике Windows с помощью Сервис->Свойства папки…->Вид (вкладка). Меню Сервис по умолчанию скрыто, но может быть включено с помощью одиночного нажатия клавиши ALT.
• 2017–05–16 Page amended with no editorial review
Tizen support discontinued in 2017.3 NewIn20173
Unity и «Помогаторы» для редактора
В этой статье опишу несколько полезных возможностей и реализаций, которые мне помогли в разработке. Unity уже имеет множество методов чтобы не только «дебажить логами», но и расширять, дорисовывать необходимые данные в окне редактора. Если вы новичок в Unity или вам захотелось освежить знания – «Нужно брать!».
Дебажим логами.
Gizmos
Gizmos используются для визуального дебага.
Рассмотрим пример.
Блоки, которые проходимы для врага, окрашиваются синими кубами, непроходимы – красными (заняты преградой) или серым (нет пути), финиш – голубой цвет. Если выделен элемент земли (мышкой в редакторе) – то зеленым подсвечиваются его соседи (в данном случае диагональные клетки соседями не считаются, система соседей используется для поиска пути).
Обратите внимание что Gizmos можно включать и отключать раздельно для каждого типа компонентов в окне Scene (вверху справа) — показано развернутым на первой картинке.
Handles.
Handles используют для отображения и управления объектами в окне сцены.
Вот пошаговый пример небольшого редактора для построения кривых: http://catlikecoding.com/unity/tutorials/curves-and-splines/
Если у вас не заработает OnSceneGUI в классе BezierSplineInspector то используйте реализацию через SceneView.onSceneGUIDelegate.
Благодаря этому расширению кролики летают по цикличным кривым. И все это красиво настраивается в редакторе.
Attributes.
Атрибуты помогут вам в совершенно разных ситуациях: украшать инспектор, организовывать меню, работать в runtime, обрабатывать компоненты. Их становится все больше, с каждой новой версией Unity. Атрибуты можно писать самостоятельно, вот несколько интересных примеров: https://github.com/Thundernerd
Приведу пример скрипта, который двигает вертексы меша, создавая простейшую имитацию волн. Тут представлены визуальные помощники, которые ограничивают значения некоторых переменных (Range), и показывают всплывающие подсказки (Tooltip). Так же можно настроить контекстное меню для свойства (ContextMenuItem).
Еще один часто применяемый мной прием связан с ContextMenu и ленью. Допустим, вы построили UI с 30 достижениями, они отображаются и скролятся как вы задумали. Вам необходимо заполнить List-ы в классе ссылками на них. Нужно 30 раз перетянуть названия, 30 раз описания и тд. Можно этот процесс автоматизировать.
Свой редактор уровней
Если ваша игра подразумевает структурированные, однотипные уровни в большом количестве (в моем примере это Tower Defence). То огромную кучу времени вам может сэкономить собственный редактор уровней.
Основной его задачей, считаю, показывать только необходимую информацию, множественные действия по нажатию на одну кнопку в инспекторе, подсказки, чтение / загрузку в дополнительные файлы.



