For proficient Java developers keen on 3D AR applications, Sceneform shines with dynamic 3D models and Face Mesh capabilities. However, given it’s no longer actively maintained by Google, consider ARCore if you favor a mobile AR experience extended to Android and iOS, enriched with cutting-edge APIs like Streetscape Geometry and Geospatial Depth. ARCore wins for broad compatibility and innovative functionality.

ARCore vs Sceneform comparison

Key Differences Between ARCore and Sceneform

  • Platform Support: ARCore supports Android and iOS, while Sceneform is Android-focused.
  • Maintenance: Sceneform isn’t actively maintained by Google unlike ARCore.
  • Capabilities: ARCore shines with motion tracking, environmental understanding, and advanced spatial APIs, whereas Sceneform excels in 3D model creation and management.
  • Application: ARCore is designed for versatile AR experiences, Sceneform is geared towards 3D AR applications.
  • Collaborations: ARCore has collaborations with several manufacturers, Sceneform operates solo.
ComparisonARCoreSceneform
Developed ByGoogleGoogle
Device Support and CompatibilityAndroid 7.0 (Nougat) and later, select iOS devicesDevice compatibility issues reported
APIs UtilizedMotion tracking, environmental understanding, light estimationARCore functionality for image tracking and camera management
Specialized APIsStreetscape Geometry API, Geospatial Depth API, Scene Semantics APINone
AR Experience EnhancementImproves existing apps, builds new AR experiencesIntroduces AR features such as object scaling, moving 3D models, and object rotation
Depth MeasurementUp to 65m with Geospatial Depth APINone
3D Model CreationOn Mega Golf demo releaseDynamically during runtime

What Is ARCore and Who’s It For?

ARCore is a development platform pioneered by Google, purpose-built for the creation of Augmented Reality (AR) experiences. With its key capabilities being motion tracking and environmental understanding, ARCore harnesses the prowess of various APIs to enable the-device-sensors to comprehend and interact with the real-world scenario. Aimed at Android phones running Android 7.0 (Nougat) and later, ARCore’s magic is designed for developers seeking to build new AR experiences or enhance existing apps.

Colorful depiction of developer immersed in coding for AR apps in a tech-infused workstation

Pros of ARCore

  • Employs technologies developed over three years for Tango.
  • Facilitates shared AR experiences across Android and iOS through various APIs.
  • Continuously updated capabilities like Geospatial API leveraging Google Maps.

Cons of ARCore

  • Initial reach limited to Pixel and Samsung’s S8 devices.
  • Some users report compatibility issues with Google Maps live view.
  • Certain reports suggest unauthorized installation of Google Apps.

What Is Sceneform and Who’s It For?

Sceneform is Google’s 3D development framework perfected for mobile use, enabling Java developers to create enchanting AR applications. Benefitting from functionalities like camera tracking and video playback management, Sceneform eases the intricacies of AR sessions. Developed for developers who seek to infuse their apps with 3D experiences and engage the users with dynamic AR visuals, Sceneform comes with both AR-required and AR-optional capabilities.

Colorful illustration of a Java developer designing dynamic 3D models in a modern office setup

Pros of Sceneform

  • Enhances AR applications by adding lights, altering position and color, and rendering 3D models.
  • Enables object scaling, 3D model manipulation, and object rotation in apps.
  • Includes Augmented Faces feature for facial tracking and mesh generation.

Cons of Sceneform

  • Compatibility issues with certain devices.
  • Limited in vertical surface detection and multi-camera usage.
  • No longer actively upheld by Google, affecting future updates and support.

Code Examples for ARCore & Sceneform

ARCore Plane Discovery

This ARCore example focuses on detecting planes in your environment. Make sure you have Google’s ARCore SDK installed and that your Android device has ARCore support.

    // ARCore Dependency
    implementation 'com.google.ar:core:1.11.0'
    
    // Create a session for ARCore 
    Session session = new Session(this);

    // Enable plane detection
    Config config = session.getConfig();
    config.updateMode = Config.UpdateMode.LATEST_CAMERA_IMAGE;
    config.planeFindingMode = Config.PlaneFindingMode.HORIZONTAL_AND_VERTICAL;
    session.configure(config);
    
    // Setup renderer
    Frame frame = session.update();
    for (Plane plane : frame.getUpdatedTrackables(Plane.class)) {
        if (plane.getTrackingState() == TrackingState.TRACKING) {
            Log.i(TAG, "Plane discovered");
        }
    }

Sceneform Simple 3D Transform

In this Sceneform example, it is demonstrated how to create a simple 3D transformation. Sceneform SDK 1.15.0 or later is required.

    // Sceneform Dependency
    implementation 'com.google.ar.sceneform:core:1.15.0'

    // Load a Sceneform model
    ModelRenderable.builder()
    .setSource(this, Uri.parse("model.sfb"))
    .build()
    .thenAccept(renderable -> model = renderable)
    .exceptionally(
        throwable -> {
            Log.e(TAG, "Unable to load Renderable.", throwable);
            return null;
        });

    // Create the Node and set its TransformableNode
    TransformableNode transformableNode = new TransformableNode(arFragment.getTransformationSystem());
    transformableNode.setParent(anchorNode);
    transformableNode.setRenderable(model);

    // Rotate the object
    Quaternion rotation = Quaternion.axisAngle(new Vector3(0.0f, 1.0f, 0.0f), 180f);
    transformableNode.setLocalRotation(rotation);

ARCore or Sceneform: The Final Verdict

The battle between ARCore and Sceneform boils down to your unique needs and the future-proofing of your AR projects. It’s time to make an opinionated, well-informed choice.

For Emerging AR/VR Creators & Tech Enthusiasts

If you’re an emerging AR/VR creator or a tech enthusiast, starting on an extensive journey of learning and experimentation, ARCore would be the logical choice. ARCore’s motion tracking, environmental understanding, and light estimation capabilities provide a comprehensive developer toolkit. Furthermore, ARCore’s broad compatibility across Android and iOS, and a wide array of Android phones, offers versatility and scale.

Emerging AR/VR creator eagerly studying ARCore documentation on his laptop in a bustling tech hub.

For Veteran Java Developers

For experienced Java developers, who have mastered traditional development scopes and now want to venture into AR applications, Sceneform can deliver. Sceneform seamlessly highlights 3D model creation, handles AR video playback, and even offers AR as an optional feature. However, the fact remains that Sceneform is no longer actively maintained by Google, which could impact future updates or support.

Seasoned Java developer considering Sceneform for his impending AR project at his minimalist, digitally-equipped workspace.

For Startup Tech Companies

Startup tech companies targeting massive user accessibility would significantly benefit from taking a ARCore-centric approach. With its reach to 1.4 billion Android devices and some iOS devices, collaborations with big-name manufacturers and automatic updates via Google Play Services, ARCore spells out omnipresent and efficient application deployment.

Team of startup tech entrepreneurs energetically discussing ARCore for their new groundbreaking AR application.

In a nutshell, ARCore’s wide-ranging capabilities, robust AR infrastructure, and ecosystem scalability confidently make it the optimal choice for most audiences compared to Sceneform.