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 и добавить новый пакет.
Рекомендуется выполнить следующие действия:
- Закройте Unity.
- Удалите каталог компиляции платформы, созданный при сборке приложения Unity.
- Снова откройте проект Unity и удалите старую версию EasyAR Sense Unity Plugin из проекта.
- Импортируйте новую версию EasyAR Sense Unity Plugin.

Примечание
Примеры файлов, предоставляемые плагином, не гарантируют совместимость между версиями. После обновления плагина импортированные в проект примеры могут работать неправильно. Рекомендуется удалить старые примеры перед выполнением действий.
EasyAR содержит файлы собственных библиотек. Если функции библиотеки были вызваны перед удалением или заменой (они также вызываются при сборке), эти файлы библиотек будут заблокированы системой и не могут быть удалены или заменены.
Важно
Перед удалением старой версии убедитесь, что в редакторе не запущены никакие сцены и не собрано приложение ни для одной платформы. Обычно рекомендуется закрыть Unity перед удалением или заменой пакета и сразу заменить его после повторного открытия.
Перед повторной сборкой с использованием новой версии плагина необходимо удалить каталог компиляции платформы, созданный Unity, включая каталог проекта Gradle, созданный при сборке Android, и каталог Xcode, созданный при сборке iOS.
Совет
Обычно эти каталоги могут находиться внутри папки Library проекта Unity (например, Library/Bee/Android/Prj/IL2CPP/Gradle), но в разных версиях Unity это может отличаться.
Если вы выполняли сборку, но не можете найти каталог соответствующей платформы, рекомендуется удалить всю папку Library.
Если после миграции возникает исключение SchemaHashNotMatched, обычно это возможно по двум причинам
- Указанные выше действия были выполнены неправильно, что привело к сбою или неполному обновлению, либо каталог компиляции, созданный Unity, не был обновлен правильно (примечание: если не удалить вручную, скорее всего, произойдет ошибка). Рекомендуется выполнить действия в соответствии с рекомендациями или перекомпилировать проект без кэша Library.
- tgz-файл EasyAR был изменен вручную, или плагин не был обновлен полностью после распаковки. В этом случае EasyAR не может гарантировать работоспособность; необходимо повторно загрузить правильный пакет и импортировать его.
Важно
Поскольку расположение файлов библиотек EasyAR Sense и файлов библиотек после упаковки может измениться, если вы сохранили проекты Gradle или Xcode, созданные Unity, необходимо заранее удалить все файлы, связанные с EasyAR, например EasyAR.aar, libEasyAR.so, easyar.framework и т. д.
Миграция на версию 4002
При миграции с версии 4001 на 4002, помимо указанного выше общего руководства по миграции, необходимо обратить внимание на следующее.
Изменения в интерфейсе
| Функциональный модуль | v4001 API | v4002 API | Инструкции по использованию |
|---|---|---|---|
| Вспомогательные функции | Image.Image(Buffer, PixelFormat, int, int) | Image.create |
Миграция на версию 4001
Совет
Несовместимые изменения есть только при использовании Mega; использование других функций не затрагивается.
При миграции с версии 4000 на 4001, помимо указанного выше общего руководства по миграции, необходимо обратить внимание на следующее.
Изменения в интерфейсе
| Функциональный модуль | v4000 API | v4001 API | Инструкции по использованию |
|---|---|---|---|
| Mega | MegaTrackerFrameFilter.ResultPoseType.EnableLocalization | MegaTrackerFrameFilter.EnableLocalization | Управление процессом отслеживания Mega |
| Mega | MegaTrackerFrameFilter.ResultPoseType.EnableStabilization | - | Функция удалена |
Миграция исторических версий
При миграции с версий старее 4000 необходимо обратиться к следующему: