Plugin Upgrade and Version Compatibility¶
Compatibility is only considered for the plugin itself. Sample files will change in any possible condition.
File Compatibility¶
Although EasyAR Sense Unity Plugin is released in source, it does not offer file level compatibility between versions. You should treat the EasyAR Sense Unity Plugin like a bunch of “DLLs” with dependencies to each other.
EasyAR Sense Compatibility¶
EasyAR Sense Unity Plugin has EasyAR Sense inside. The plugin is guaranteed to work only with the EasyAR Sense released within the same package. In some rare cases, when the EasyAR Sense Unity Plugin package does not change much between releases, the EasyAR Sense can also be switched. In this case, all files from Packages/com.easyar.sense/Runtime/Binding
and Packages/com.easyar.sense/Runtime/BindingNR
folder should come from the same EasyAR Sense release. EasyAR does not offer this kind of compatibility by design, so you have to check it by your own and at your own risk in case you need.
Interface Compatibility¶
Interface compatibilities are only guaranteed within a minor version. Huge interface changes will be noticed in the release notes.
NOTICE: EasyAR does not follow semantic versioning required by Unity package. The major difference in general, is the minor version change may introduce breaking changes, but not always.
Upgrade Guide¶
Remove the old EasyAR Sense
package and add the new one from Package Manager window would do the upgrade. Sample files imported into the project may not work due to plugin changes, remove old samples and import from the new package if it is the case.
Migrate To 4.3¶
This section covers the differences between EasyAR Sense Unity Plugin early versions and 4.3.
If you are upgrading from version 4.2 or lower, you need to remove every single file from the old plugin and do a clean package import using Unity’s Package Manager window. These files may exist in Assets/EasyAR
, Assets/Plugins
, Assets/Samples
and Assets/StreamingAssets
folder.
Migrate To 4.4¶
This section covers the differences between EasyAR Sense Unity Plugin 4.3 and 4.4.
Prefabs are marked as obsolete and will be removed in future releases. Remove the usage of prefabs from plugin packages whenever it is possible. There will be warning logs if you continue using those prefabs, and the log contains short instruction about replacement in new plugin. You can also read Start from Zero or new samples to learn how to create AR Scenes in this version.
VIOCameraDeviceUnion is marked as obsolete and will be removed in future releases. There will be warning logs if you continue using this component, and the log contains short instruction about replacement in new plugin. You can also read Start from Zero or new samples to learn how to create AR Scenes in this version.
A few other API has changed. You can read API Reference for new API usages.
There are some public methods marked as internal in XML comments and not listed in API Reference, please avoid using them if possible, they may be replaced in some versions later.
Migrate To 4.6¶
This section covers the differences between EasyAR Sense Unity Plugin 4.5 and 4.6.
Prefabs has been removed. Please reference Start from Zero or new samples to learn how to create AR Scenes in this version if these prefabs were used.
VIOCameraDeviceUnion has been removed. Please reference Start from Zero or new samples to learn how to create AR Scenes in this version if this component was used.
AR Foundation support has been split into seperate package. Please read Working with AR Foundation to learn how to use AR Foundation with EasyAR. If you do not use AR Foundation, please remove AR Foundation
node under AR Session and remove references to ARFoundationFrameSource
in the scripts.
Nreal support has been split into seperate package. Please read EasyAR HMD Extensions to learn how to use Nreal with EasyAR. If you do not use Nreal, please remove Nreal
node under AR Session and remove references to NrealFrameSource
in the scripts.
There are some other API changes, please read API Reference for details about API usages.