Table of Contents

EasyAR Sense Unity Plugin migration guide

This article describes how to migrate from older versions of EasyAR Sense Unity Plugin to newer versions.

Compatibility notes

Starting from version 4000, EasyAR Sense Unity Plugin follows the package versioning (using Semantic Versioning) required by Unity, and compatibility can be determined based on the version number.

4.7 is a progressive update version, and any two 4.7 versions are incompatible.

For versions prior to 4.7, only the third version number indicates backward compatibility, while changes in the first two version numbers indicate incompatibility. For example, 4.6.2 is compatible with 4.6.1, but 4.6.0 is incompatible with 4.5.0.

Warning

Modifying tgz files or failing to fully update the entire plugin after unpacking will cause incompatibility.

General migration guide

Migrating to a new version requires first removing the old version plugin package using the Package Manager window and then adding the new package.

It is recommended to follow these steps:

  1. Close the running Unity.
  2. Delete the platform compilation directories generated during Unity application packaging.
  3. Reopen the Unity project and remove the old version of EasyAR Sense Unity Plugin from the project.
  4. Import the new version of EasyAR Sense Unity Plugin.

Note

The sample files provided by the plugin are not guaranteed to be compatible between versions. After upgrading the plugin, samples imported into the project may not work properly. It is recommended to delete old version samples before proceeding.

EasyAR contains native library files. If library functions have been executed before deletion or replacement (which also occurs during packaging), these library files will be locked by the system and cannot be deleted or replaced.

Important

Before deleting the old version, ensure that no scenes are running in the editor and no applications are being packaged for any platform. It is generally recommended to close Unity before deleting or replacing packages and replace them immediately after reopening.

Before repackaging with the new version plugin, you need to delete the platform compilation directories generated by Unity packaging, including the Gradle project directory generated for Android packaging and the Xcode directory generated for iOS packaging.

Tip

Typically, these directories may be inside the Library folder of the Unity project (e.g., Library/Bee/Android/Prj/IL2CPP/Gradle), but this may vary across Unity versions.

If you have packaged but cannot find the directory for the corresponding platform, it is recommended to delete the entire Library folder.

If a SchemaHashNotMatched exception occurs after migration, there are usually two possibilities:

  1. The previous operations were not performed correctly, resulting in a failed or incomplete upgrade, or Unity's generated compilation directories were not updated correctly (note: if not manually deleted, errors are likely). It is recommended to follow the suggested steps or recompile using a project without Library cache.
  2. The EasyAR tgz file was manually modified or the entire plugin was not fully updated after unpacking. In this case, EasyAR cannot guarantee usability, and you need to re-download the correct package and import it.
Important

Since EasyAR Sense library files and their packaged locations may change, if you retain Unity-generated Gradle or Xcode projects, you must delete all EasyAR-related files in advance, such as EasyAR.aar, libEasyAR.so, easyar.framework, etc.

Migration to version 4001

Tip

Only Mega usage has incompatible changes; other functionalities are unaffected.

When migrating from version 4000 to 4001, in addition to the general migration guide above, note the following content.

Interface changes

Function module v4000 API v4001 API Usage notes
Mega MegaTrackerFrameFilter.ResultPoseType.EnableLocalization MegaTrackerFrameFilter.EnableLocalization Controlling Mega tracking process
Mega MegaTrackerFrameFilter.ResultPoseType.EnableStabilization - Feature removed

Historical version migration

When migrating from versions prior to 4000, refer to the following content: