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 . 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
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):
-
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)