UI сообщения
В EasyAR Sense Unity Plugin во время выполнения есть три типа сообщений.
- Исключения выполнения, включая Sense Error, Session Error, Error, Warning
- Session Dump
- Специальные исключения при разработке с EasyAR Mega
Вы можете настроить способ вывода первых двух типов сообщений по мере необходимости. Это можно сделать через компонент DiagnosticsController на сеансе в редакторе или с помощью интерфейса DiagnosticsController.MessageOutput в скриптах.

Совет
В версии 4000, если сцена создана в старой версии плагина, DiagnosticsController автоматически добавляется в сеанс при открытии сцены. В некоторых версиях Unity автоматическое добавление может не работать, и в таких случаях DiagnosticsController создается во время выполнения со значениями по умолчанию.
Исключения выполнения
Иногда во время работы плагина внутренние компоненты обнаруживают проблемы, которые выводятся в систему в виде сообщений. Эти сообщения могут быть критическими сбоями, препятствующими дальнейшей работе, намеренно вызванными событиями, индикаторами неподдерживаемых устройств и т.д. Они классифицируются по уровню серьезности от высокого к низкому следующим образом:
- SenseError: Ошибка EasyAR Sense, обычно связанная с лицензией EasyAR Sense.
- SessionError: Ошибка ARSession, обычно связанная с неподдерживаемыми функциями устройства или неверной конфигурацией.
- Error: Прочие сообщения об ошибках
- Warning: Предупреждения
Из-за особенностей разработки под Unity по умолчанию эти сообщения отображаются в UI для помощи в разработке.
Отображение этих сообщений можно контролировать в редакторе или скриптах. Доступные режимы вывода:
- UIAndLog: Вывод в UI и журнал. На гарнитурах отображается на расстоянии 5 метров перед пользователем.
- Log: Вывод в системный журнал.
Совет
- На этапе разработки и тестирования рекомендуется использовать конфигурацию по умолчанию UIAndLog.
- При публикации рекомендуется изменить опцию на Log. Можно оставить UIAndLog, но сообщения в UI обычно неудобны для конечных пользователей.
- Перед запуском рекомендуется проверить доступность сеанса и поддержку устройства и корректно информировать пользователей о неподдерживаемых устройствах.
Sense error
Sense Error — это особая категория ошибок, при возникновении которых функциональность EasyAR становится недоступна. Распространенные причины:
- Лицензия не настроена корректно или не прошла проверку. Эту ошибку можно устранить, повторно инициализировав систему с корректной лицензией.
- Превышение фиксированного ограниченного времени использования пробных продуктов (личная лицензия, пробная лицензия XR или пробный сервис Mega и т.д.) на некоторых устройствах (включая все устройства с пользовательскими камерами, такие как AR Foundation, AR Engine, или различные гарнитуры). Эта ошибка не устранима.
Session error
Session Error — это ошибка, при которой текущий ARSession не может продолжать работу. Изменение конфигурации и перезапуск ARSession могут решить проблему. Эти ошибки обычно вызваны неверной конфигурацией, исключениями в процессе запуска, прерывающими сборку, неподдерживаемой конфигурацией ARSession для устройства, потерей компонента ARSession во время выполнения и т.д.
Распространенные случаи:
- Ошибка сборки сеанса: например, устройство не поддерживается или поддерживаемый источник кадров (Frame Source) не настроен корректно в ARSession.
- Ошибка запуска сеанса: неверные данные конфигурации облачного сервиса, приводящие к сбою создания облачной функции, или незаполненные данные конфигурации (включая сервисы Mega, облачного распознавания, SpatialMap).
- Ошибка во время выполнения сеанса: компонент ARSession уничтожен внешним воздействием, отсутствие корректной настройки RendererFeature в среде URP и т.д.
Обычно конфигурационные ошибки и исключения в процессе запуска, приводящие к прерыванию сборки, следует устранять на этапе разработки. Проблемы с поддержкой устройств в основном возникают при использовании функций, требующих отслеживания движения. Рекомендуется ознакомиться с разделом Отслеживание движения и функциональность EasyAR, чтобы понять, какие функции требуют особого внимания к поддержке устройств, и выбрать подходящие устройства для отладки на этапе разработки.
Session dump
Сообщения SessionDump отображают состояние выполнения ARSession, собранное плагином во время работы, включая ключевые состояния различных компонентов. Эта информация полезна для понимания работы EasyAR и анализа проблем.
Отображение этих состояний можно контролировать в редакторе или скриптах. Доступные режимы вывода:
- UI: Отображение в UI с обновлением каждый кадр. На гарнитурах отображается на расстоянии 5 метров перед пользователем.
- Log: Вывод в системный журнал. Поскольку вывод происходит каждый кадр, это влияет на производительность. Рекомендуется использовать только во время разработки или тестирования.
- None: Без вывода.
Совет
- На этапе разработки и тестирования рекомендуется использовать конфигурацию по умолчанию UI. Отображаемая информация необходима для взаимодействия со специалистами EasyAR.
- Перед выпуском рекомендуется изменить на None, сохранив возможность включения UI через программный переключатель, или использовать другую систему сбора данных. При обращении в поддержку EasyAR может запросить эту информацию для анализа состояния работы приложения.
- В большинстве случаев при возникновении проблем после выпуска приложения сначала необходимо провести анализ на стороне приложения. Обращение в поддержку будет эффективным только после устранения проблем в приложении и сбора достаточной информации. Существует множество сторонних SDK и платформ для сбора и анализа логов, их рекомендуется использовать перед выпуском. Если у вас нет опыта или ресурсов для использования таких платформ, сохранение возможности включения UI (например, через скрытый переключатель) для получения информации от пользователей будет простым решением.
Специальные исключения при разработке с EasyAR Mega
При разработке с использованием Mega существует категория предупреждающих сообщений, которые невозможно контролировать напрямую. Эти сообщения отображаются в UI при выполнении определенных условий конфигурации, и разработчик не может их отключить.
Рекомендуется обращать внимание на само сообщение, так как в нем указаны причина возникновения и метод настройки. Разработчикам необходимо понимать требования различных конфигураций к разным сценариям использования и выбирать подходящие варианты по мере разработки.
Эти сообщения отображаются намеренно, так как при определенных условиях они помогают в разработке контента, но не позволяют получить корректные результаты выполнения. Важно не выпускать приложение с отображаемыми сообщениями.