Search Unity

  1. Unity 2020.1 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

OpenXR vs ARFoundation

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

  1. rcornwall


    Oct 21, 2016
    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


    May 13, 2014
    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


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


    Sep 15, 2015
    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
    JoelGab and ROBYER1 like this.