EasyAR Sense Unity Plugin 遷移指南
本文介紹如何從舊版本的 EasyAR Sense Unity Plugin 遷移到新版本。
相容性說明
從版本 4000 開始,EasyAR Sense Unity Plugin 遵循 Unity 所要求的 套件版本控制(使用語義化版本),相容性可根據版本號判斷。
4.7 是逐步更新版本,任何兩個 4.7 版本都不相容。
4.7 之前的版本,只有第三個版本號表示向後相容性,前兩個版本號的變更均表示不相容。比如,4.6.2 與 4.6.1 相容,但 4.6.0 與 4.5.0 不相容。
[!警告] 修改 tgz 檔案或解壓後未完整更新整個外掛將導致不相容。
通用遷移指南
遷移到新版本需要先使用 Package Manager window 刪除舊版本的外掛套件並新增新的套件。
建議按如下步驟操作:
- 關閉使用中的 Unity。
- 刪除 Unity 打包應用時產生的平台編譯目錄。
- 重新開啟 Unity 工程,將舊版本的 EasyAR Sense Unity Plugin 從工程中移除。
- 匯入新版本的 EasyAR Sense Unity Plugin 版本。

[!注意] 外掛提供的範例檔案並不保證版本間相容。在外掛升級後,匯入到工程中的範例有可能無法正常工作,建議刪除舊版本範例後再操作。
EasyAR 包含原生函式庫檔案,如果在刪除或替換前執行過函式庫函式(打包時也會呼叫),這些函式庫檔案會被系統鎖定無法刪除或替換。
[!重要] 在刪除舊版本之前,需要確保沒有在編輯器中執行任何場景或打包任何平台的應用。通常建議刪除或替換套件之前先關閉 Unity,並在重新開啟後立即替換。
在使用新版本外掛重新打包前,需要先刪除 Unity 打包產生的平台編譯目錄,包括打包 Android 產生的 Gradle 工程目錄,以及打包 iOS 產生的 Xcode 目錄。
[!提示] 通常這些目錄可能在 Unity 工程的
Library資料夾裡面(比如Library/Bee/Android/Prj/IL2CPP/Gradle),但是不同 Unity 版本有可能不一樣。如果您打包過但找不到對應平台的目錄,建議刪除整個
Library資料夾。
如果在遷移之後出現 SchemaHashNotMatched 異常,通常有兩種可能
- 前述操作未正確進行導致升級失敗或不完整,或是 Unity 產生的編譯目錄未正確更新(注意:如果未手動刪除,大概率會出錯)。建議按建議步驟進行操作或使用沒有
Library快取的工程重新編譯。 - 手動修改了 EasyAR 的 tgz 檔案或解壓後未完整更新整個外掛。這種情況 EasyAR 無法保證可用性,需要重新下載正確的套件並匯入。
[!重要] 由於 EasyAR Sense 的函式庫檔案以及函式庫檔案打包後的位置可能會發生變化,如果您保留了 Unity 產生的
Gradle或Xcode工程,必需提前刪除所有與 EasyAR 有關的檔案,比如EasyAR.aar,libEasyAR.so,easyar.framework等。
遷移到版本 4001
[!提示] 僅在使用 Mega 時有不相容改動,其它功能的使用不受影響。
從版本 4000 遷移到 4001 時,除了上述通用遷移指南之外,還需要注意以下內容。
介面變更
| 功能模組 | v4000 API | v4001 API | 使用說明 |
|---|---|---|---|
| Mega | MegaTrackerFrameFilter.ResultPoseType.EnableLocalization | MegaTrackerFrameFilter.EnableLocalization | 控制 Mega 追蹤過程 |
| Mega | MegaTrackerFrameFilter.ResultPoseType.EnableStabilization | - | 功能已刪除 |
歷史版本遷移
從 4000 以前的版本遷移時,需要參考以下內容: