Table of Contents

Unity 兼容性

本文介紹 EasyAR Sense Unity Plugin 所兼容的 Unity 版本和配置要求。

Unity 版本

EasyAR Sense Unity Plugin 支持 Unity 2021.3 或更高版本。

開發 Mega 功能所需的 EasyAR Mega 支持包支持 Unity 2021.3.30 或更高版本。

提示

通常來說, EasyAR 不依賴很多變化的 Unity API,所以如果 Unity 發佈了新版本,EasyAR Sense Unity Plugin 一般都可以正常使用。

EasyAR Sense Unity Plugin 從版本 4.6.4 開始支持 Unity 6 的 URP 17+ Render Graph。

開發平臺

操作系統 操作系統版本 CPU 架構 補充說明
Windows 7 及以上版本(7/8.1/10/11) x86, x86_64 Windows N/KN 版本需要安裝 Media Feature Pack 才能使用
macOS 11.0 及以上版本 x86_64, arm64

另外,需要滿足對應版本的 Unity 開發系統要求

發佈平臺

操作系統 操作系統版本 CPU 架構 補充說明
Windows 7 及以上版本(7/8.1/10/11) x86, x86_64 Windows N/KN 版本需要安裝 Media Feature Pack 才能使用。
不支持 EasyAR 錄屏 功能。
macOS 11.0 及以上版本 x86_64, arm64 不支持 EasyAR 錄屏 功能。
Android 5.0 及以上版本 armv7a, arm64-v8a arm64-v8a 支持需要開啓 IL2CPP。
EasyAR 錄屏 功能僅支持在 Graphics API 爲 OpenGLES2 或 OpenGLES3 時使用。
鴻蒙(手機端) 1.0 – 4.x 原生支持
5 以上通過 Android 應用兼容層支持1
arm64-v8a
iOS 15.0 及以上版本 arm64 Architecture 需配置爲 ARM64,不支持配置爲 Universal。
不支持 EasyAR 錄屏 功能。
visionOS 2.0 及以上版本 arm64 不支持 EasyAR 錄屏 功能。

另外,需要滿足對應版本的 Unity 的發佈平臺要求:

macOS 平臺額外說明

Apple silicon

EasyAR Sense Unity Plugin 從版本 4.6.0 開始支持在 Apple silicon 設備上原生運行,且可以在 Unity 編輯器中正常使用。

附註

由於 Unity 對原生插件支持的 bug,在部分 Unity 版本中,爲 "Apple silicon""Intel 64-bit + Apple silicon" 構建的應用可能無法正常工作。如果發現應用在 Mac 上無法使用,且顯示類似 "Fail to load EasyAR library" 或 "DllNotFoundException: EasyAR assembly" 的錯誤,建議使用新版本的 Unity 或向 Unity 和 Unity 社區尋求幫助。

Android 平臺額外說明

Android 16 KB 內存頁面大小支持

EasyAR Sense Unity Plugin 從版本 4000 開始支持具有 16 KB 內存頁面大小的設備。

提示

這是 Android 15 中引入的功能。有關該功能的更多信息,請參閱 Android 文檔中關於支持 16 KB 頁面大小的內容。

Google Play 警告 libhuawei_arengine_jni.so 可能導致應用在 16 KB 設備上崩潰

在默認配置下,EasyAR Sense Unity Plugin 會在 Android 平臺上使用 AR Engine SDK 3.7.0.3(包含 libhuawei_arengine_jni.so)來支持華爲 AR Engine。由於該庫由華爲使用早期 Android NDK 編譯,因此 Google Play 可能會發出警告,但這並不會實際造成影響。

alt text

Your app could crash on 16 KB devices

base/lib/arm64-v8a/libhuawei_arengine_jni.so

關於 AR Engine SDK:

  • 3.7.0.3 版本是由華爲使用早期 Android NDK 編譯的,這是 Google Play 發出警告的原因。詳見 Google 文檔中關於 使用 Android NDK r27 及更低版本編譯應用 的說明。
  • 3.7.0.3 版本支持在 Android 16 KB 內存頁面大小的設備上加載,這也是 Google Play 沒有禁止 app 發佈的原因。
  • 4.0.0.5 版本不支持在 Android 16 KB 內存頁面大小的設備上加載,這是 AR Engine SDK 在 Android 生態中公開可用的最新版本,因此 EasyAR Sense Unity Plugin 仍然使用 3.7.0.3 版本。

EasyAR Sense Unity Plugin 使用 AR Engine SDK 3.7.0.3 不影響應用上線 Google Play,也不會實際造成崩潰:

  • 華爲設備都不屬於 Android 16 KB 設備。
  • EasyAR Sense 使用了白名單機制避免在非華爲設備上運行 AR Engine SDK。

如何處理該警告:

  • 如果需要在華爲設備上使用 AR Engine 功能,建議忽略該警告。

  • 如果不需要支持華爲設備或可以不使用 AR Engine 功能,可以在 EasyAR 配置 中關閉 AR Engine SDK。

    附註

    在華爲設備上,即使關閉 AR Engine,EasyAR 其它功能也可以正常工作,但運動跟蹤效果會與 AR Engine 存在差異,使用運動跟蹤的其它功能也會受影響。

鴻蒙平臺額外說明

兼容 Android 的鴻蒙系統

EasyAR Sense Unity Plugin 完整支持鴻蒙 1.0 – 4.x。

原生鴻蒙/純血鴻蒙/HarmonyOS NEXT

EasyAR Sense Unity Plugin 將於近期支持原生鴻蒙 5.0+,當前版本尚不支持原生鴻蒙/純血鴻蒙,僅能通過 Android 應用兼容層使用。

提示

Unity 國際版不支持原生鴻蒙,需使用 團結引擎

WebGL

EasyAR Sense Unity Plugin 不支持 Unity 的 WebGL。

提示

直接使用 EasyAR 雲服務接口(比如 CRS 服務接口)開發的功能可以發佈到 Web 平臺。

Graphics API

EasyAR Sense Unity Plugin 直接使用 Unity 的渲染管線,所有 Unity 中可以使用的圖形 API 都可以支持。

Scriptable Render Pipeline

EasyAR Sense Unity Plugin 支持 Universal Render Pipeline (URP) 7.0.0 或更新版本。

EasyAR Sense Unity Plugin 不支持 High Definition Render Pipeline (HDRP)。

附註

關於 Unity 6 URP 17+ render graph 支持的聲明

EasyAR 支持 Unity 6 URP 17+ render graph,但是 Unity 本身仍存在部分未解決的問題。在遇到異常情形時可以嘗試使用 Unity 提供的 URP 兼容模式

部分問題已經在最新版本的 Unity 中得到解決,建議使用 6.2 及以上版本。

非兼容模式下的已知問題包括:

  1. [未解決] 當從 EasyAR 獲取相機紋理(類似 ImageTracking_Coloring3D 示例及 ARSession 工作流(CameraDevice) 示例中的使用),在 iOS/Mac 設備上可以觀察到視覺故障和僞影。我們已經在純 Unity 包中復現該問題並報告給了 Unity: Glitches on iOS with AR Camera Image Rendering (URP 17 render graph) 。問題進展可以關注 Unity Issue UUM-87787 更新以及 Unity 未來版本的發佈日誌。

    對於所有版本的 Unity 6,可以使用 部分緩解措施,默認開啓。

    對於 Unity 6.2 及更新版本,可以將 Universal Render Pipeline Asset 中的 Render Scale 設置爲 0.96-1.05 以外的數值來規避這個問題。

  2. [Unity 6.2 已修復] Windows DX11 上相機畫面會讓場景中的物體渲染效果不可預測。在 Unity 6.0 - 6.1 版本中,EasyAR 提供 規避選項] 且默認開啓。


  1. 當前版本尚不支持原生鴻蒙/純血鴻蒙 5.0。