Table of Contents

Feature comparison between Mega and ARKit/ARCore

EasyAR Mega is both related to and different from Apple's ARKit and Google's ARCore. Understanding their relationship and respective advantages is critical for developers to understand how Mega works. Simply put, Mega can fully use the motion tracking capabilities of ARKit/ARCore, while also extending the large-scale spatial localization needs that ARKit/ARCore cannot satisfy.

Core relationship

  • ARKit/ARCore (base layer):

    • They are AR development frameworks provided by device operating systems (iOS/Android).
    • Their core responsibility is device-level environment perception and tracking. For example, they use the device camera and IMU to implement simultaneous localization and mapping (SLAM), plane detection, lighting estimation, image/object recognition, and more.
    • They provide upper-layer applications with a stable, low-latency 6DoF pose data stream.
  • EasyAR Mega (application/platform layer):

    • It is an ultra-large-scale spatial computing platform.
    • Its core responsibility is to combine prebuilt, high-precision 3D data with advanced visual localization technology to achieve city-scale, centimeter-level persistent localization. It uses the underlying 6DoF data provided by ARKit/ARCore to implement fused motion tracking.
    • Mega does not replace ARKit/ARCore. Instead, it uses them to obtain initial motion data of the device in the physical world, then matches this data with the Mega map to "anchor" it into a unified, high-precision coordinate system.

Feature comparison and Mega advantages

ARKit/ARCore also provide certain spatial recognition and localization capabilities, such as ARKit's ARWorldMap and ARCore's Cloud Anchors/Geospatial API. These features are somewhat similar to the ultra-large-scale spatial localization capabilities provided by Mega, but they are fundamentally different. The following is a detailed technical comparison.

Feature ARWorldMap Cloud Anchors/Geospatial API EasyAR Mega
Localization range Can scan and localize the surrounding environment Can scan and localize the surrounding environment Can scan and localize city-scale spatial environments
Localization characteristics Can handle environmental changes Can handle environmental changes Can handle environmental changes and day/night transitions
Map construction Collected and built on the device side, shared through a local area network Collected and built on the device side, shared through endpoints hosted in Google Cloud Collected with dedicated devices and built in the cloud, shared to any device through cloud localization services
Virtual-real occlusion Geometric occlusion through Mesh scanned by LiDAR Depth-based occlusion through Depth API Provides detailed 3D models with LOD for accurate geometric occlusion
Cross-device experience Supports sharing and experience only between iOS devices Sharing and experience between Android and iOS devices through Google Cloud endpoints Sharing and experience across almost all devices (Android, iOS, XR headsets) through unified cloud localization services or on-device deployment
Technical dependencies Runs only on devices with ARKit, and some features have extra hardware or software requirements (such as LiDAR) Runs on devices with ARKit or ARCore Widely compatible with many devices, without a hard requirement for ARKit or ARCore

Using with ARKit/ARCore at the same time

When integrating EasyAR Mega, you usually do not need to call ARKit or ARCore APIs directly. This is a very important concept:

  • A Mega application automatically obtains the available ARKit/ARCore 6DoF data stream based on the device it is running on.
  • You only need to use the unified MegaTracker or MegaGoTracker API to manage localization services and obtain pose data. Internally, the raw ARKit/ARCore data is automatically fused and calculated, ultimately providing you with a unified, high-precision, continuously tracked spatial localization result.
  • This design greatly simplifies the development process. You do not need to write and maintain two sets of code for different platforms, nor do you need to deeply understand the complex APIs of ARKit/ARCore. You only need to focus on using EasyAR Mega features to build your application logic.
Tip

Exception: If you want to use certain specific ARKit/ARCore features while using Mega localization, such as ARKit's People Occlusion, you may need to call native APIs in your application.


EasyAR Mega does not compete with or replace ARKit/ARCore. Instead, it complements and collaborates with them. ARKit/ARCore solve the problem of "how a device moves in the environment", while EasyAR Mega solves the problem of "how all devices accurately localize in the same huge space". By combining the two, you can build unprecedented AR applications with large-scale spatial sharing and persistent localization capabilities.