If you’re aspiring to develop AR experiences, ARCore leads with its robust AR capabilities, extensive Android support, and integration with Google Maps. However, if you’re building immersive 2D/3D games across multiple platforms, Unity triumphs with its cross-platform support, integrated asset store, and diverse coding language options.

Detailed comparison: ARCore vs Unity

Key differences between ARCore and Unity

  • ARCore excels in providing AR experiences, leveraging APIs for environmental understanding, while Unity specializes in game development.
  • ARCore’s coverage extends to a vast array of Android devices and certain iOS ones, whereas Unity offers multi-platform support, including Android and iOS.
  • Unity facilitates game design with an integrated asset store and offers various coding languages. ARCore, however, leverages Google’s ecosystem.
  • While Unity charges based on game installs, ARCore works independently of additional hardware and user installs.
Comparison ARCore by Google Unity
Development Aim AR Experiences 3D and 2D Games
Release 2017 2005
Cross-platform Compatibility Android and limited iOS Android, iOS, and others
Key Abilities Motion Tracking, Environmental Understanding, Light Estimation AR/VR Creation, 3D Simulations
Advanced Features Geospatial API, Streetscape Geometry API Rich Asset Store
Coding Language APIs BOO Script, JavaScript, C#
Collaboration Efforts Manufacturers- Samsung, Huawei, LG, ASUS Active developer community
Pricing Model Free with Google Play Services Paid per game install
Criticism Map live view compatibility issues, unauthorized app installs New pricing model, lack of transparency
Promises AR Experience on 1.4 billion devices Fraud detection practices on game installs

What Is ARCore and Who’s It For?

ARCore is Google’s advanced technology framework for building augmented reality experiences. Harnessing a series of APIs, ARCore empowers mobile devices to interact with and grasp their surroundings. Primarily designed for developers, ARCore provides powerful tools to create shared AR experiences on Android 7.0 (Nougat) and later or select iOS devices.

This platform, a successor to Google’s Tango project, enhances the real-world understanding of Android devices without the need for additional hardware. It is instrumental in emerging AR ecosystems, unveiling unprecedented features like the Geospatial API with Google Maps, helping to chart a course for immersive AR experiences on 1.4 billion Android devices. Perfect for developers aiming at broad-spectrum deployment.

Colorful depiction of a person using ARCore to interact with their digitally-augmented surroundings

Pros of ARCore

  • Wide compatibility across Android and select iOS devices
  • Motion tracking, environmental understanding, and light estimation
  • No additional hardware required
  • New geospatial AR experiences leveraging Google Maps

Cons of ARCore

  • Requires Android 7.0 (Nougat) or later
  • Some reported compatibility issues with Google Maps live view
  • Unauthorized installs of Google Apps

What Is Unity and Who’s It For?

Since its inception in 2005, Unity has redefined the landscape of game development with its 3D and 2D engine and broad cross-platform compatibility. Unity is the go-to for developers seeking versatile, high-quality game creation tools that operate seamlessly with multiple operating systems, from augmented reality to 3D simulations.

Despite its recent controversial pricing model, Unity serves to stimulate innovation in the gaming space, with a rich asset store and accessible coding languages. Its sprawling developer community further enriches the creation process, collectively striving for system improvements. Unity is especially appealing to developers keen on creating high-quality AR/VR games.

Colorful image of a person working on Unity on their computer station

Pros of Unity

  • Powerful 3D and 2D engine
  • Broad cross-platform compatibility
  • Diverse pre-designed textures and features
  • Supports multiple coding languages

Cons of Unity

  • Controversial per-install fee pricing model
  • Diminished trust due to unannounced changes
  • Fears of financial sustainability due to sudden pricing shifts

ARCore vs Unity: Pricing

The key distinction is that ARCore offers its AR development features free of charge, while Unity employs a fee-per-install model, causing financial concern among independent and small-scale developers.

ARCore

In terms of pricing, ARCore’s API is available to developers at no extra cost. By leveraging Google Play Services for AR, which is automatically installed and updated on supported devices, AR experiences built using ARCore can be accessed without any added expenditure. This lack of financial barrier encourages developers to experiment, build, and augment their apps with AR capabilities.

Unity

As of January 1, 2024, Unity’s new pricing model imposes a fee per game installation. Consequently, the fees apply for any game created with Unity that surpasses 200,000 installations and earns over $200,000 in revenue. Critically, games in countries recognized as “standard” markets bare higher fees than those in “emerging” markets such as India and China, exacerbating pricing concerns among developers. A previously offered Unity Plus subscription is no longer available, reducing the options for accessing Unity’s development tools.

Code Examples for ARCore & Unity

ARCore

This snippet depicts how to implement the Augmented Faces API in ARCore in order to overlay 3D models over a user’s face. You’ll need to set up ARCore and the Augmented Faces API, which are both provided with the ARCore SDK for Android.

// ARCore Augmented Faces Code Snippet
AugmentedFaceNode myFaceNode;
AugmentedFace augmentedFace; 
ModelRenderable modelRenderable; 

// Build the ModelRenderable
ModelRenderable.Builder
    .build()
    .thenAccept(renderable -> modelRenderable = renderable); 

// When an AugmentedFace is detected
myFaceNode = new AugmentedFaceNode(augmentedFace); 
myFaceNode.setParent(arFragment.getArSceneView().getScene()); 
myFaceNode.setFaceRegionsRenderable(modelRenderable);

Unity

This Unity snippet demonstrates the process of spawning a predefined GameObject at a random position on the screen. Make sure you have Unity set up and a prefabricated GameObject ready for instantiation.

// Unity Random Spawning Code Snippet
public GameObject prefabObj; 

void SpawnRandomObject()
{
    // Define the boundaries for the random position
    float x = Random.Range(-9f, 9f); 
    float z = Random.Range(-9f, 9f); 

    // Create the random position
    Vector3 randomPosition = new Vector3(x, 0, z); 

    // Instantiate the prefab at the random position
    Instantiate(prefabObj, randomPosition, Quaternion.identity);
}

Choosing the Right AR Tool: ARCore vs Unity

In the battle of augmented reality, Google’s ARCore and Unity place impressively, each with unique strengths and capabilities. Let’s dissect which technology best suits different audience segments.

Mobile AR Enthusiasts

Those beholden to mobile-based AR development will find ARCore unparalleled. Its APIs, specifically designed for mobile devices, promise robust AR experiences. With support that extends across Android and iOS systems and an impressive target of 100 million devices, ARCore leads the mobile AR race. Top it off with environmental and light estimation and the recipe is perfect for mobile AR creators.

A mobile app developer testing AR experiences on a smartphone

Multi-platform developers

Developers looking for broader applicability should turn to Unity. Not only does Unity support AR, it allows deployment of both 3D and 2D games across diverse platforms. Think Android and iOS, or 3D AR simulations on multiple operating systems. Unity’s cross-platform capability makes it the go-to for multi-platform developers.

A game developer working on a cross-platform 3D game in Unity

Google Ecosystem Advocates

Those already embedded in the Google ecosystem will find value in ARCore. With ever improving APIs, integration with Google Maps, and auto-installation and updates via Google Play Services for AR, ARCore leverages the Google ecosystem like none other. This makes it the preferred choice for Google ecosystem lovers.

A developer engaged with Google’s ARCore APIs on a computer

Solo and Indie Developers

The recent pricing structure of Unity, expected to place burden on solo and indie developers post 2024 might tip the balance in favor of ARCore for this segment. While Unity does promise fraud detection and a ceiling on fees, ARCore’s lack of additional hardware or installation costs offers a compelling advantage.

A solo game developer carefully analyzing cost-structures of AR tools

Considering the robust mobile-AR capabilities of ARCore and Unity’s wide cross-platform support, the choice largely depends on your specific needs. If you are a mobile AR enthusiast or irrevocably tied to the Google ecosystem, ARCore stands out. However, if you seek a powerful cross-platform game development engine or are an existing Unity user at ease with the new pricing structure, Unity is your best bet.

Patrick Daugherty

Content writer @ Aircada. Merging AR expertise with a love for late-night gaming sessions.