Google ARCore or ARCore is a platform or software development kit (SDK) for Android that facilitates augmented reality (AR) application development. ARCore SDK works with Unreal, Java/OpenGL and Unity scripting languages. It is quite similar to the Apple ARKit framework for iOS 11 or later. The AR apps created courtesy ARCore present animated 3D content, which includes characters, objects and words. The Android device should be running Android Nougat or later to use ARCore.

Unlike Tango, Google’s erstwhile AR project, ARCore doesn’t depend on custom hardware or a 3D camera specifically and therefore is likely to support a wider range of Android devices. This also means ARCore would also work with existing Android phones with Android 7.0 and later. Buying a newer Android device is not mandatory. That said, ARCore is based on Tango, so Tango cannot be considered among the several projects that Google has killed.

Working Mechanism

ARCore resorts to motion tracking, environmental comprehension, and light estimation to get work done. It accomplishes these tasks using both hardware and software.

  • Motion Tracking

Motion tracking lets the mobile device learn and track its positioning within a given space. In other words, it can ascertain an Android device’s position and orientation. ARCore accomplishes this using the device’s camera. A pinned object could be viewed from all angles by walking around them.

  • Environmental Understanding

Environmental understanding entails letting the device to detect the flat horizontal surfaces’ size and location using its camera. The surfaces, for instance, could be a work desk or floor.

  • Light Estimation

Light estimation enables the phone to assess the lighting conditions and illuminate AR properties accordingly, thereby enhancing the visuals and making the rendering accurate. In fact, the shadows that give the AR props a realistic look is basically light estimation at work.

All of these technologies combined help ARCore understand real-world elements in-depth. And this comprehension allows users position virtual objects into the actual world and see them from every angle, even when the objects are moving.

Use Cases

ARCore should help people see and understand how a home, office, or any other structure would look post a renovation. For instance, the SDK would help buyers virtually modify car designs or change the vehicle’s exterior. The image can also be decolorized and desaturated to draw attention to the AR components.

E-commerce stores could create 3D shops, offering a more holistic shopping experience online, as a result. Buyers would be able to try an item before buying it. This would help increase both product awareness and brand loyalty. Within industries, ARCore could help facilitate repair services or procure real-time professional support remotely or from experts located across the globe. For instance, AR would enable the specialists to virtually position graphs and messages, which will help analyze and address the situation.

Virtual reality (VR) may be able to do a better job than AR at accurately rendering virtual objects. But it’s not the most practical technology since it entails putting on VR wear. In other words, all buyers at a car showroom may not fancy putting on VR glasses to view a potential purchase in different color combinations. AR is a lot less conspicuous and therefore comfortable for all.  

Positives

Like mentioned earlier, ARCore doesn’t need specific hardware to work. Even existing Android devices with the right Android version would be compatible with ARCore. Also, Google wants developers to have it easy building apps with ARCore. In other words, ARCore is compatible with tools such as Tilt Brush (3D painting VR application) and Blocks (helps create 3D models in VR), which help developers make 3D content for different AR applications.

Limitations

ARCore is definitely not as advanced or cutting-edge as Tango. Additional features and advancements are likely to make their way to ARCore, but additional hardware support (which isn’t there with ARCore) would always make the job easier for software developers.

Android is a fragmented ecosystem, which may hinder Google from offering a uniform AR experience across various Android devices. AR works best only when there’s seamless integration between software and hardware. Developers would therefore have to test the apps and optimize them for different Android devices and also versions. This would mean a lot more effort and time.  

Moreover, the Android experience is not the same on all Android devices since manufacturers add their own ingredients to the OS to deliver their own Android flavor. Therefore, if these OEMs had to adopt ARCore, they would likely customize the platform to their liking. If Google, like Apple, controlled both software and hardware, things would be completely different.