No camera feed with ARDK Remote - DllNotFound Error

  • Issue category: ARDK Virtual Studio Tools
  • Device type & OS version: Android
  • Host machine & OS version: Mac (10.14.6 Mojave)
  • Issue Environment : Unity Remote
  • Xcode version:
  • ARDK version: 1.3.1
  • Unity version: 2020.3.33

I am trying to get the Virtual Studio Remote working fully and it’s almost there except for the camera feed. I’ve set everything up as per the instructions using USB as the connection. Everything works except for the camera feed, which repeatedly throws the below error in the Console (probably for every frame). Any thoughts?

DllNotFoundException: ardk_client_platform
Niantic.ARDK.AR._VideoStreamHelper._DecompressForVideo (Niantic.ARDK.AR.CompressedImage compressedImage) (at Assets/ARDK/AR/_VideoStreamHelper.cs:89)
Niantic.ARDK.AR.Image._SerializableImageBufferSerializer.DoDeserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/AR/Image/_SerializableImageBufferSerializer.cs:50)
Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.BaseItemSerializer`1[T].Deserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/Utilities/BinarySerialization/ItemSerializers/BaseItemSerializer.cs:41)
Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.BaseItemSerializer`1[T].Niantic.ARDK.Utilities.BinarySerialization.IItemSerializer.Deserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/Utilities/BinarySerialization/ItemSerializers/BaseItemSerializer.cs:75)
Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer.Deserialize () (at Assets/ARDK/Utilities/BinarySerialization/BinaryDeserializer.cs:50)
Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.ArrayOfUnsealedSerializer`1[T].DoDeserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/Utilities/BinarySerialization/ItemSerializers/ArrayOfUnsealedSerializer.cs:55)
Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.BaseItemSerializer`1[T].Deserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/Utilities/BinarySerialization/ItemSerializers/BaseItemSerializer.cs:41)
Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.SimpleSerializableSerializer.Deserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/Utilities/BinarySerialization/ItemSerializers/SimpleSerializableSerializer.cs:154)
Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer.Deserialize () (at Assets/ARDK/Utilities/BinarySerialization/BinaryDeserializer.cs:50)
Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.ArrayOfUnsealedSerializer`1[T].DoDeserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/Utilities/BinarySerialization/ItemSerializers/ArrayOfUnsealedSerializer.cs:55)
Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.BaseItemSerializer`1[T].Deserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/Utilities/BinarySerialization/ItemSerializers/BaseItemSerializer.cs:41)
Niantic.ARDK.Utilities.BinarySerialization.ItemSerializers.SimpleSerializableSerializer.Deserialize (Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer deserializer) (at Assets/ARDK/Utilities/BinarySerialization/ItemSerializers/SimpleSerializableSerializer.cs:154)
Niantic.ARDK.Utilities.BinarySerialization.BinaryDeserializer.Deserialize () (at Assets/ARDK/Utilities/BinarySerialization/BinaryDeserializer.cs:50)
Niantic.ARDK.Utilities.BinarySerialization.GlobalSerializer.Deserialize (System.IO.Stream stream) (at Assets/ARDK/Utilities/BinarySerialization/GlobalSerializer.cs:412)
Niantic.ARDK.Utilities.Extensions._ObjectSerializationExtensions.DeserializeFromArray[T] (System.Byte[] byteArray) (at Assets/ARDK/Utilities/Extensions/_ObjectSerializationExtensions.cs:32)
Niantic.ARDK.VirtualStudio.Remote._EasyConnection._MessageReceived (UnityEngine.Networking.PlayerConnection.MessageEventArgs args) (at Assets/ARDK/VirtualStudio/Remote/_EasyConnection.cs:109)
Niantic.ARDK.VirtualStudio.Remote.RemoteMessageHandler.Callback (UnityEngine.Networking.PlayerConnection.MessageEventArgs e) (at Assets/ARDK/VirtualStudio/Remote/_UsbRemoteConnection.cs:184)
UnityEngine.Events.InvokableCall`1[T1].Invoke (T1 args0) (at /Users/bokken/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent.cs:221)
UnityEngine.Events.UnityEvent`1[T0].Invoke (T0 arg0) (at /Users/bokken/buildslave/unity/build/Runtime/Export/UnityEvent/UnityEvent/UnityEvent_1.cs:58)
UnityEngine.Networking.PlayerConnection.PlayerEditorConnectionEvents.InvokeMessageIdSubscribers (System.Guid messageId, System.Byte[] data, System.Int32 playerId) (at /Users/bokken/buildslave/unity/build/Runtime/Export/Networking/PlayerConnection/PlayerEditorConnectionEvents.cs:66)
UnityEditor.Networking.PlayerConnection.EditorConnection.MessageCallbackInternal (System.IntPtr data, System.UInt64 size, System.UInt64 guid, System.String messageId) (at /Users/bokken/buildslave/unity/build/Editor/Mono/Networking/PlayerConnection/EditorConnection.cs:190)

Hi Julian, this is a known issue, but I’ve noticed that you are using an old version of macOS, which isn’t supported by the ARDK. Please try updating your OS and build again, and let us know if the issue still persists.

Hi Kevin,

So this feature isn’t supported yet or it should work but some people are having issues?

Also, which macOS is supported? I can’t seem to find that info in the docs.

Thanks

Hi Julian, playing in remote mode is definitely supported. We have had users reporting the same error you are seeing on Intel/M1 chips depending on Unity build, hence the “known issue”. There are no specific macOS that ARDK supports listed in our documentations, but in general to avoid any issues, we recommend using newer macOS especially if you are developing with Xcode.

Hi, I am using the latest Mac OS and have the same problem.
Is there anything else I can do to deal with this?
I have applied the patch for M1Mac.

  • Device type & OS version : Android
  • Host machine & OS version : Mac (12.3.1 Monterey)
  • Issue Environment : Unity Remote
  • ARDK version : 1.3.1
  • Unity version : 2020.3.33

I have found reports of similar problems.

Hi Takashi, thank you for bringing this to our attention. This issue is due to M1 not being fully supported, and this is definitely something Niantic has been looking into. Please stay tuned for any updates!

Can we expect some improvements to Mac M1-based machines with the upcoming release? May be together with Lightship Summit?
:crossed_fingers: