ARDK 1.1.0 seems *fairly broken* in multiple areas - mocking, remoting, general setup issues:(

I’ve been trying to get into lightship dev lately and, boy, life isn’t easy. I really want to love this SDK and it has a lot of really promising features but, shucks y’all, you’re making it hard…

I’m an experienced XR dev and I don’t think I’ve ever encountered such a painful mismatch between expected behavior (based on the plentiful docs and tuts) and actual SDK behavior. Respectfully, I think it would behoove whoever owns your learning resources - to dogfood the tutorials from scratch with 1.1.0, and particularly the getting started and virtual studio materials, because I’m seeing many of these problems echoed across the forums. I think the latest version might be seriously broken across multiple areas, Unity versions and OSs.

To confirm the prerequisites, I have (in multiple projects, multiple times, in multiple OS’s, and multiple versions of unity, including 2019 LTS, 2020 LTS and 2021 LTS):

  • created a Resources/ARDK folder at the root of my project and added my API key
  • set the build target to either iOS (OSX) or Android (PC)
  • created an ARDK_MockWorld layer and assigned it per the instructions to the parent mock world prefab and every child recursively (anytime I try to use one, that is)
  • followed various tutorials (primarily “getting started”, “virtual studio” and “meshing”)

Now, the following is consistently broken for me on both OSX and PC:

  • The old ardk_client_platform error. Every time. Everywhere, incl. OSX. (Full error attached below)

  • When running the Semantic Segmentation, Depth and Meshing examples (the only feature-specific ones I’ve tried), the relevant buttons disappear and I’m getting a black screen (see screenshot below). This is out of the box in both OSX and PC. Aside from the ardk_client_platform thing, no other errors.

  • Virtual Studio simply does. Not. Work. That is to say:

  • mocking does not work at all, under any circumstances, except the example mock scene which explicitly sidesteps the Unity interface for mocking!. And even then, I’d expect in-editor meshing of the mocked prefab? Plane recognition? Nothing happens, although I am able to navigate the scene as explained (mouse+keyboard, etc). Not sure what the expected behavior is.
    Interestingly, setting up mocking based on the tutorial video does work - but adding mocking to any of the example scenes doesn’t.

edit: I was able to get mocking working in the plane anchors scene! I also noticed the mocking docs only discuss planes. Is plane detection available via mocking whereas depth, segmentation, meshing etc. aren’t? If so, I think it’s really important to point out…

  • Remoting does not work at all, whether via USB or internet, both on PC and OSX. I’m able to build the app just fine, but it never connects.

  • Finally, this forum system seems to be broken :upside_down_face:. I’m not getting notifications for replies to my threads, so I have to check in manually after I post. Which… is not great.

Additional validation of the various issues:
ardk_client_platform completely inhibiting development

Mock camera simply not working

Remote mode not working

I know most problems are typically user-side but I’m pretty sure I’m not doing anything wrong repeatedly across all attempts - perhaps the tuts and videos need to be updated?

At this point I can’t get remoting to work, can’t really get mocking to work, and the examples aren’t documented enough to make the lengthy tweak-build-deploy cycle any less painful.

With so many great alternatives around, I really hope lightship dev gets easier and less buggy in the future, because I do love a lot of the features, and would love to consider it for my next app. Thank you.

Addendums:

  • semantic segmentation bug screenshot (this is in play mode):
    Screen Shot 2021-12-22 at 9.39.16 PM

  • the full ardk_client_platform error:

System.DllNotFoundException: ardk_client_platform
at (wrapper managed-to-native) Niantic.ARDK.Configuration._NativeArdkConfig._NAR_ARDKGlobalConfigHelper_SetContextAwarenessUrl(string)
at Niantic.ARDK.Configuration._NativeArdkConfig.SetContextAwarenessUrl (System.String url) [0x00001] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/Configuration/_NativeArdkConfig.cs:51
at Niantic.ARDK.Configuration.ArdkGlobalConfig.SetContextAwarenessUrl (System.String url) [0x00001] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/Configuration/ArdkGlobalConfig.cs:67
at Niantic.ARDK.AR.Configuration._ARConfigurationValidator.SetMissingValues (Niantic.ARDK.AR.Configuration.IARConfiguration config) [0x000a5] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/AR/Configuration/_ARConfigurationValidator.cs:187
at Niantic.ARDK.AR.Configuration._ARConfigurationValidator.RunAllChecks (Niantic.ARDK.AR.IARSession arSession, Niantic.ARDK.AR.Configuration.IARConfiguration newConfiguration) [0x00060] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/AR/Configuration/_ARConfigurationValidator.cs:256
at Niantic.ARDK.VirtualStudio.AR._MockARSession.Run (Niantic.ARDK.AR.Configuration.IARConfiguration configuration, Niantic.ARDK.AR.ARSessionRunOptions options) [0x00010] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/VirtualStudio/AR/_MockARSession.cs:171
at Niantic.ARDK.Extensions.ARSessionManager.Run () [0x00022] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/Extensions/ARSessionManager.cs:258
at Niantic.ARDK.Extensions.ARSessionManager.CreateAndRun () [0x00012] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/Extensions/ARSessionManager.cs:267
at Niantic.ARDK.Extensions.ARSessionManager+<>c__DisplayClass27_0.b__0 () [0x00022] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/Extensions/ARSessionManager.cs:171
at Niantic.ARDK.Utilities._CallbackQueue._ConsumeQueue () [0x0004b] in /Users/michaelhazani/Desktop/Lightship/Winterland-2019/Assets/ARDK/Utilities/_CallbackQueue.cs:72 from context:
UnityEngine.Debug:LogError (object)
Niantic.ARDK.Utilities.Logging.UnityARLogHandler:Error (string) (at Assets/ARDK/Utilities/Logging/LogHandler/UnityARLogHandler.cs:41)
Niantic.ARDK.Utilities.Logging.ARLog:_Exception (System.Exception,object) (at Assets/ARDK/Utilities/Logging/ARLog.cs:230)
Niantic.ARDK.Utilities._CallbackQueue:_ConsumeQueue () (at Assets/ARDK/Utilities/_CallbackQueue.cs:77)
Niantic.ARDK.Utilities._CallbackQueue:Update () (at Assets/ARDK/Utilities/_CallbackQueue.cs:111)

If I get a chance, I might try to replicate some of what is being reported from scratch… as my app I’ve got in development isn’t having any issues - but I’ve been developing it with older ARDK versions and upgrading over time (so maybe I’ve somehow sidestepped some of the bugs?).

All I can say is Lightship ARDK is definitely worth sticking with — sorry to hear you’re having a bunch of issues!

Do the same issues happen with older versions of the ARDK for you?

Niantic folk will likely have more answers for you, but thought I’d jump in too in case I can help in the meantime :slight_smile:

2 Likes

Hi Michael, sorry your ARDK experience wasn’t an enjoyable one, let me try to help you the best I can:

  1. The old ardk_client_platform error. Every time. Everywhere, incl. OSX.

-I cannot seem to reproduce that error from vanilla ARDK, but rest assured that this error should not block you from building or development, as you have seen from the posts you have linked. Please let me know if it is actually blocking your progress at all!

  1. When running the Semantic Segmentation example, the relevant buttons disappear and I’m getting a black screen (see screenshot below). This is out of the box in both OSX and PC. Aside from the ardk_client_platform thing, no other errors.

-Regarding the buttons disappearing, this may be due to your build being set in landscape mode, and is a known issue. You can read about it here. If that isn’t your issue, then I believe the black screen you are seeing may be due to your layer being modified incorrectly. Would you kindly reattempt adding and applying the layer again? By following the instructions, I was able to recreate your screenshot by removing the ARDK_MockWorld layer and resolving that issue by adding it back in again.

  1. mocking does not work at all, under any circumstances, except the example mock scene which explicitly sidesteps the Unity interface for mocking!. And even then, I’d expect in-editor meshing of the mocked prefab? Plane recognition? Nothing happens, although I am able to navigate the scene as explained (mouse+keyboard, etc).

-Can you tell me specifically what error you have encountered in the mocking mode? Mock camera is only a demonstration of what your settings can do, and does not implement your phone camera for meshing.

  1. Remoting does not work at all, whether via USB or internet, both on PC and OSX. I’m able to build the app just fine, but it never connects.

-Since this problem seems to be related to your semantic segmentation issue, I’d be willing to bet once we can resolve that this should also resolve itself as well! On a side note, please be aware that remote mode is currently only supported in USB connection mode.

  1. Finally, this forum system seems to be broken ! I’m not getting notifications for replies to my threads, so I have to check in manually after I post. Which… is not great.

-There are notification settings that you can adjust your push notifications to, and you can adjust accordingly to each of the threads you replied to. Would you kindly check if that is the case for you for the threads you have replied to?

1 Like

Thank you both for replying, @Patrick_Catanzariti and @Kevin_W_Young ! Really appreciate it.

-I cannot seem to reproduce that error from vanilla ARDK, but rest assured that this error should not block you from building or development, as you have seen from the posts you have linked. Please let me know if it is actually blocking your progress at all!

Agreed. imo it would be good to document the URP equivalent, TODO_DOES_NOT_EXIST (see Ben’s comment), because it threw me off as well till I found that thread.

I have since come to grips with the mock / simulator and think I have a better grasp of it now. Learning that (in my experience, at least) it only works with the Plane recognition API was a key moment, and they unfortunate way it breaks with any other feature made it seem completely broken when trying to run it with every other example. I think it would be good to be extra vocal about the limitations of mock mode - i.e the following - I’m sure I’m not the only one who naively tried to utilize mock mode to do meshing and hit test detection. I’m still not sure about its exact capabilities (should it be able to do meshing and segmentation, just not hit testing?), but sticking to planes seems to do the trick for now - every other example is still broken for me, and attempts to utilize it with the meshing manager etc. are fruitless. The semantic segmentation example still doesn’t work for me, although it may be a case of further troubleshooting.

-Can you tell me specifically what error you have encountered in the mocking mode? Mock camera is only a demonstration of what your settings can do, and does not implement your phone camera for meshing.

Mostly, black screen and the inability to control the camera with the mouse / keyboard. In the semantic segmentation example all relevant buttons are disabled after hitting “Play” so I don’t see them in the game mode. Re-enabling them manually doesn’t help. I suspect it might be related to order-of-operations with the unity lifecycle, only because the manual init / run sequence in the planes example seems to run without a hitch. Pretty sure it’s not a layer problem because the same layer works in the plane anchors example. I’ve re-applied to be sure it’s on all children.
Note that at least one other person seems to be running into out-of-the-box issues with the sem seg sample, in particular.

-There are notification settings that you can adjust your push notifications to, and you can adjust accordingly to each of the threads you replied to. Would you kindly check if that is the case for you for the threads you have replied to?
Improvement! I’ve gotten one notification on this thread although didn’t get yours.

Really appreciate your prompt reply, especially knowing you folks are off on your much-deserved holiday break. On my end, I could mostly use confirmation about mock mode’s specific limitations - if it’s supposed to be compatible with all features (as per the docs) aside from most hit testing, I’ll keep cracking at it and maybe create a more specific thread. Thanks again and happy holidays!

This topic was automatically closed 2 hours after the last reply. New replies are no longer allowed.

Hi Michael, thank you for your patience. I will see if the team can come up with better documentation for Mock Mode as you have described. Meanwhile, regarding the black screen you described, this is a known issue and is actively being looked at. You can meanwhile attempt the solutions provided here and see if that works for you. If not please feel free to submit a new thread so we can better focus on the issue.

2 Likes