Table of Contents

Mega vs ARKit/ARCore feature comparison

EasyAR Mega is both related to and distinct from Apple's ARKit and Google's ARCore. Understanding their relationship and respective strengths is crucial for developers to grasp how Mega operates. Simply put, Mega can fully leverage ARKit/ARCore's motion tracking capabilities while extending to meet large-scale spatial positioning needs that ARKit/ARCore cannot satisfy.

Core relationship

  • ARKit/ARCore (Foundation Layer):

    • They are AR development frameworks provided by the device's operating system (iOS/Android).
    • The core responsibility is: Device-level environmental perception and tracking. For example, using the device's camera and IMU to achieve Simultaneous Localization and Mapping (SLAM), plane detection, light estimation, image/object recognition, etc.
    • They provide upper-layer applications with a stable, low-latency stream of 6DoF pose data.
  • EasyAR Mega (Application/Platform Layer):

    • It is a large-scale spatial computing platform.
    • The core responsibility is: Combining pre-built, high-precision 3D data with advanced visual positioning technology to achieve city-scale, centimeter-level persistent positioning. It utilizes the underlying 6DoF data provided by ARKit/ARCore for fused motion tracking.
    • Mega does not replace ARKit/ARCore. Instead, it utilizes them to obtain the initial motion data of the device in the physical world, then "anchors" this data to a unified, high-precision coordinate system by matching it with the Mega map.

Feature comparison and Mega's advantages

ARKit/ARCore also provide certain spatial recognition and positioning capabilities, such as ARWorldMap in ARKit and Cloud Anchors/Geospatial API in ARCore. These features share some similarities with Mega's large-scale spatial positioning capabilities but have fundamental differences. The following is a detailed technical comparison between the two.

Feature ARWorldMap Cloud Anchors/Geospatial API EasyAR Mega
Positioning range Can scan and locate the surrounding environment Can scan and locate the surrounding environment Can scan and locate city-level spatial environments
Positioning characteristics Adaptable to environmental changes Adaptable to environmental changes Adaptable to environmental changes, day-night cycles
Map construction Collected and built on the device end, shared via LAN Collected and built on the device end, shared via endpoints hosted on Google Cloud Collected by specialized devices and built in the cloud, shared via cloud positioning service on any device end
Virtual-real occlusion Geometric occlusion achieved via LiDAR-scanned Mesh Depth-based occlusion achieved via Depth API Provides detailed 3D models with LOD for precise geometric occlusion
Cross-device experience Supports sharing and experience only between iOS devices Enables sharing and experience between Android and iOS devices via Google Cloud endpoints Enables sharing and experience between almost all devices (Android, iOS, XR headsets) via unified cloud positioning service
Technical dependencies Runs only on devices with ARKit, some features have additional hardware or software requirements (e.g., LiDAR) Runs on devices with ARKit or ARCore Widely compatible with various devices, does not strictly require devices to have ARKit or ARCore

Using with ARKit/ARCore concurrently

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

  • The Mega application will automatically obtain the available ARKit/ARCore 6DoF data stream based on the terminal device it runs on.
  • You only need to use the unified MegaTracker API to manage the positioning service and obtain pose data. Internally, it will automatically fuse the raw data from ARKit/ARCore, ultimately providing you with a unified, high-precision, continuously tracked spatial positioning 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 an in-depth understanding of the complex APIs of ARKit/ARCore. You only need to focus on using EasyAR Mega's features to build your application logic.
Tip

Exception: If you wish to use certain specific features of ARKit/ARCore (e.g., ARKit's People Occlusion) while using Mega positioning, you may need to mix calls to the native API in your application.


EasyAR Mega does not compete with or replace ARKit/ARCore; instead, it complements and synergizes with them. ARKit/ARCore solve the problem of "how the device moves within an environment," while EasyAR Mega solves the problem of "how all devices are precisely located within the same vast space." By combining the two, you can build unprecedented AR applications with large-scale spatial sharing and persistent positioning capabilities.