Search Unity

OpenXR vs ARFoundation

Discussion in 'AR/VR (XR) Discussion' started by rcornwall, May 9, 2019.

  1. rcornwall

    rcornwall

    Joined:
    Oct 21, 2016
    Posts:
    7
    Hi all,

    In March, Khronos released a version of OpenXR. It's purpose is to unify AR/VR development into a platform-agnostic API. I saw that Unity Technology is a supporter of the project.

    Unity has their own platform-agnostic development set for AR/VR called ARFoundation.

    I was wondering how OpenXR fits into the AR space, especially compared to ARFoundation. Are they related in any way? Two alternatives? Are there pros/cons of using one over the other?
     
  2. Blarp

    Blarp

    Joined:
    May 13, 2014
    Posts:
    270
    Random and somewhat related

    There is a battle right now between GLTF and USD(z)

    You have to choose sides.

    USD(z) preferred by Unity,Unreal,Apple,Pixar,Autodesk

    GLTF preferred by Google & Khronos(Sketchfab is gonna come in when they are done sitting on their hands)
     
    dimib and ROBYER1 like this.
  3. WalkerStudio

    WalkerStudio

    Joined:
    Feb 27, 2014
    Posts:
    5
    I want to know which one is the best in AR area,specillay in game indestruy.
     
  4. jan_bajana

    jan_bajana

    Joined:
    Sep 15, 2015
    Posts:
    22
    ARFoundation is an Unity component based application C# framework which is more generic and independent from frameworks like ARCore and ARKit. So your scene setup do not relay on device specific components.

    OpenXR is related to native drivers to unify device interfaces.
    ARFoundation is using UnityXR C# Subsystems which load a native device driver implemented with UnityXR native provider.

    Unity3D would normally integrates every XR runtime from different vendors. What we don't want.
    So Unity rather provides unified UnityXR native API.
    Then there is a new even more generic API called OpenXR.
    The difference between UnityXR and OpenXR is that UnityXR is only Unity compatible. OpenXR is supposed to unify API for all graphics engines from the top and all hardwares from the bottom.

    From Unity3D side, an application developer will never deal with OpenXR, it is backend abstraction how Unity talks to devices. So you can still be using ARFoundation but internally Unity3D can use OpenXR if the device supports it.
     
    Last edited: Sep 11, 2019