Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Problems with ARMeshManager

Discussion in 'AR' started by vetro22, Aug 26, 2019.

  1. vetro22

    vetro22

    Joined:
    Aug 14, 2019
    Posts:
    8
    Hi!

    I've been trying to experiment with the new ARMeshManager, but haven't managed to make it work properly.

    Inside ARMeshManager.OnEnable() the CreateSubsystem() function returns null, so it disables itself instantaneously. The CreateSubsystem() function returns null, because the s_SubsystemDescriptors list is empty after the SubsystemManager.GetSubsystemDescriptors(s_SubsystemDescriptors) call. Unfortunately, that's how deep I could get.

    Do you have any suggestions on what might cause this issue?


    I've tried on the following versions, and it's all the same:

    Unity:
    • 2019.3.0a11
    • 2019.2.2f1
    AR Foundation:
    • 2.2.0-preview.3 with AR Subsystems 2.2.0-preview.3
    • 2.1.3 with AR Subsystems 2.1.0

    EDIT: And also do you have any material (maybe examples) explaining how to use this class properly?
     
  2. vetro22

    vetro22

    Joined:
    Aug 14, 2019
    Posts:
    8
    UPDATE:

    I've listed all the available subsystem descriptors with UnityEngine.XR.ARSubsystems.SubsystemManager.GetAllSubsystemDescriptors() on my phone (after rendering at least 200 frames), and basically all possible subsystems are there, except for the UnityEngine.XR.XRMeshSubsystemDescriptor:

    upload_2019-8-27_11-20-17.png

    This was taken in Unity 2019.3.0a11 and AR Foundation 2.1.3 with AR Subsystems 2.1.0, where the XRMeshSubsystem and the corresponding Descriptor is clearly defined unter UnityEngine.XR.

    Do you have any idea?

    If this is related to the exact hardware, I'm using a Huawei P20.
     
    Last edited: Aug 27, 2019
  3. tdmowrer

    tdmowrer

    Joined:
    Apr 21, 2017
    Posts:
    605
    If a subsystem is null, it means that subsystem is not supported. The mesh subsystem is for platforms that support meshing with their native SDKs, which ARCore and ARKit do not currently.
     
    GeorgeAlexandru, vetro22 and Blarp like this.
  4. vetro22

    vetro22

    Joined:
    Aug 14, 2019
    Posts:
    8
    Thank you for the answer, @tdmowrer .
    Is there any platform, that I can use the ARMeshManager with?
    I'm asking this, because I really need meshing for my application, and writing it by hand should be only a last resort for any feature, especially if there's an implementation readily available.