UI 消息
EasyAR Sense Unity Plugin 運行時有三類消息。
- 運行異常,包含 Sense Error、Session Error、Error、Warning
- Session Dump
- EasyAR Mega 開發特殊異常
您可以根據需要調整前兩類消息的輸出方式。可以通過 session 上的 DiagnosticsController 組件在編輯器中配置,或是使用 DiagnosticsController.MessageOutput 接口在腳本中配置。

提示
在 4000 版本中,如果場景由老版本插件創建,打開場景時 DiagnosticsController 會被自動添加到 session 中。部分 Unity 版本中可能不會自動添加,在這些 Unity 版本中,DiagnosticsController 會在運行時自動以默認值創建。
運行異常
插件運行時有時會收到內部組件發現的一些問題,以消息形式出現在系統中。這些消息有些可能是無法繼續使用的嚴重故障,有些可能是故意觸發的,有些可能是設備不受支持等等,按嚴重級別從高到低分爲如下幾類:
- SenseError:EasyAR Sense 錯誤,通常與 EasyAR Sense license 有關。
- SessionError:ARSession 錯誤,通常與設備不支持一些功能或錯誤的配置有關。
- Error:其它錯誤信息
- Warning:警告信息
由於 Unity 開發的特殊性,我們默認會將這些消息顯示在 UI 上,以輔助開發。
可以在編輯器或腳本中控制這些消息如何展示,可以選擇的輸出模式如下:
提示
- 建議在開發測試階段使用默認配置 UIAndLog。
- 建議在發佈時將選項改成 Log, 也可以保留 UIAndLog,但這些UI消息通常對終端用戶是不友好的。
- 建議在運行前 判斷 session 可用性和設備支持 並對不支持的設備進行合理提示。
Sense Error
Sense Error 是一類特殊的錯誤,出現錯誤時 EasyAR 功能無法繼續使用。常見原因:
- License 未正確配置或校驗失敗。該錯誤可以通過使用正確的 license 重新初始化來恢復。
- 部分設備(包括 AR Foundation、AR Engine 等所有使用自定義相機的設備或各種頭顯)上使用試用產品(個人版 license、試用版 XR license 或試用版 Mega 服務等)超過固定的有限時間。該錯誤無法恢復。
Session Error
Session Error 是當前 ARSession 無法繼續工作的錯誤。修改配置並重新運行 ARSession 可能可以解決這些錯誤。這些錯誤一般是由於您的配置錯誤、啓動流程中拋出了異常導致組裝中斷、設備不受當前 ARSession 配置支持或是運行過程中 ARSession 組件丟失等導致的。
常見情況有:
- Session 組裝錯誤:比如設備不受支持或支持設備的 Frame Source 沒有正確配置在 ARSession 中等。
- Session 啓動錯誤:雲服務配置信息錯誤導致創建雲服務功能出錯,或配置信息未填寫(包括 Mega 服務、雲識別服務、SpatialMap 服務)等。
- Session 運行中錯誤:ARSession 組件被外部銷燬,URP 環境下未正確配置 RendererFeature 等。
通常來說,配置錯誤以及啓動流程中的異常導致組裝中斷都應該在開發過程中避免。設備不支持的情況主要出現在需要運動跟蹤能力的功能上,需要參考 運動跟蹤與 EasyAR 功能 瞭解哪些功能需要注意設備支持,並在開發階段選擇合適的設備進行調試。
Session Dump
SessionDump 消息展示的是插件運行時收集的 ARSession 的運行狀態,包括各個組件的一些關鍵狀態。這些狀態信息對了解 EasyAR 的運行以及分析問題有很大幫助。
可以在編輯器或腳本中控制這些狀態如何展示,可以選擇的輸出模式如下:
提示
- 建議在開發測試階段使用默認配置 UI,上面顯示的信息是與 EasyAR 工作人員進行溝通所必不可少的。
- 建議在正式上線後再修改爲 None,並保留打開 UI 的軟件開關,或通過其它系統進行數據收集。在向 EasyAR 反饋問題時, EasyAR 會向您或您的用戶索取這些信息,以判斷應用運行狀態。
- 在絕大多數情況下,應用上線後運行出問題,應用端還是需要首先進行問題排查和分析,在排除應用問題並獲取足夠信息後反饋的問題才能較好解決。日誌收集和分析的第三方 SDK 和平臺比較多,建議上線前使用。如果您沒有使用這些平臺的經驗或資源,保留打開 UI 的開關(比如使用隱藏開關)讓用戶反饋看到的信息將是比較簡單的。
EasyAR Mega 開發特殊異常
Mega 開發中,還有一類無法控制的警告信息,這類信息會在滿足特定配置條件時顯示在 UI 上,開發者無法直接關閉。
建議關注信息本身,文字上寫明瞭出現的原因和配置方法。開發者需要了解不同配置對不同使用方式的要求並根據開發進展合理選擇。
這類信息是故意展示的,因爲在特定使用條件下,這些功能用來輔助內容流程開發,但同時無法獲取合理的運行結果,注意不要帶着信息上線。