Vivox Environment Configuration Failure: Cannot deserialize JSON array

Getting the following error every time I load the Project Settings → Services → Vivox window. This is preventing us from being able to include Vivox in our builds. Any ideas? Started yesterday around 12pmCST.

Unity Editor Error Repeated:
Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type ‘Unity.Services.Vivox.Editor.GetVivoxInternalsResponse’ because the type requires a JSON object (e.g. {“name”:“value”}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {“name”:“value”}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path ‘credentials’, line 1, position 16.
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureArrayContract (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract) [0x00059] in /root/repo/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:840
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.Object existingValue, System.String id) [0x00012] in /root/repo/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:855
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x0007f] in /root/repo/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:311
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue (Newtonsoft.Json.Serialization.JsonProperty property, Newtonsoft.Json.JsonConverter propertyConverter, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerProperty, Newtonsoft.Json.JsonReader reader, System.Object target) [0x0005c] in /root/repo/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:1052
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject (System.Object newObject, Newtonsoft.Json.JsonReader reader, Newtonsoft.Json.Serialization.JsonObjectContract contract, Newtonsoft.Json.Serialization.JsonProperty member, System.String id) [0x00280] in /root/repo/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:2442
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x00161] in /root/repo/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:502
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x0006d] in /root/repo/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:309
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x000db] in /root/repo/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalReader.cs:202
at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00046] in /root/repo/Src/Newtonsoft.Json/JsonSerializer.cs:904
at Newtonsoft.Json.JsonSerializer.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in /root/repo/Src/Newtonsoft.Json/JsonSerializer.cs:883
at Newtonsoft.Json.JsonConvert.DeserializeObject (System.String value, System.Type type, Newtonsoft.Json.JsonSerializerSettings settings) [0x0002d] in /root/repo/Src/Newtonsoft.Json/JsonConvert.cs:831
at Newtonsoft.Json.JsonConvert.DeserializeObject[T] (System.String value, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in /root/repo/Src/Newtonsoft.Json/JsonConvert.cs:787
at Newtonsoft.Json.JsonConvert.DeserializeObject[T] (System.String value) [0x00000] in /root/repo/Src/Newtonsoft.Json/JsonConvert.cs:720
at Unity.Services.Vivox.Editor.VivoxApiClient+<>c__DisplayClass12_01[T].<CreateJsonResponseHandler>g__JsonResponseHandler|0 (UnityEngine.AsyncOperation unityOperation) [0x00014] in .\Library\PackageCache\com.unity.services.vivox@15.1.180000-pre.1\Editor\VivoxApiClient.cs:177 0x00007ff6980eafbd (Unity) StackWalker::GetCurrentCallstack 0x00007ff6980eff69 (Unity) StackWalker::ShowCallstack 0x00007ff6990bb741 (Unity) GetStacktrace 0x00007ff69977df52 (Unity) DebugStringToFile 0x00007ff697154a96 (Unity) DebugLogHandler_CUSTOM_Internal_Log 0x000001decd968ca3 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.DebugLogHandler:Internal_Log (UnityEngine.LogType,UnityEngine.LogOption,string,UnityEngine.Object) 0x000001decd968bbb (Mono JIT Code) UnityEngine.DebugLogHandler:LogFormat (UnityEngine.LogType,UnityEngine.Object,string,object[ ]) 0x000001de6e131740 (Mono JIT Code) UnityEngine.Logger:Log (UnityEngine.LogType,object) 0x000001de6e131605 (Mono JIT Code) UnityEngine.Debug:LogError (object) 0x000001de6e39cec3 (Mono JIT Code) Unity.Services.Vivox.Editor.VivoxSettingsProvider/<>c__DisplayClass20_0:<FetchCredentials>g__HandleException|2 (System.Exception) (at ./Library/PackageCache/com.unity.services.vivox@15.1.180000-pre.1/Editor/VivoxSettingsProvider.cs:205) 0x000001de6e0cc71c (Mono JIT Code) Unity.Services.Vivox.Editor.VivoxApiClient/<>c__DisplayClass12_01<T_REF>:g__JsonResponseHandler|0 (UnityEngine.AsyncOperation) (at ./Library/PackageCache/com.unity.services.vivox@15.1.180000-pre.1/Editor/VivoxApiClient.cs:183)
0x000001de6e0cc5ab (Mono JIT Code) UnityEngine.AsyncOperation:InvokeCompletionEvent ()
0x000001decd816d98 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
0x00007fff8a7a0394 (mono-2.0-bdwgc) mono_jit_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/mini/mini-runtime.c:3445)
0x00007fff8a6deb44 (mono-2.0-bdwgc) do_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3066)
0x00007fff8a6decdc (mono-2.0-bdwgc) mono_runtime_invoke (at C:/build/output/Unity-Technologies/mono/mono/metadata/object.c:3113)
0x00007ff6980128c4 (Unity) scripting_method_invoke
0x00007ff697ff31e4 (Unity) ScriptingInvocation::Invoke
0x00007ff697c7a656 (Unity) AsyncOperation::InvokeCoroutine
0x00007ff69859935c (Unity) UnityWebRequestAsyncOperation::InvokeCoroutine
0x00007ff698599541 (Unity) UnityWebRequestProto<UnityWebRequestTransport,AtomicRefCounter,RedirectHelper,ResponseHelper,DownloadHandler,UploadHandler,CertificateHandler,HeaderHelper,AsyncOperation>::Job_InvokeCoroutine
0x00007ff697c2d53a (Unity) BackgroundJobQueue::ExecuteMainThreadJobs
0x00007ff697ca811c (Unity) InitPlayerLoopCallbacks'::2’::EarlyUpdateExecuteMainThreadJobsRegistrator::Forward
0x00007ff698c354b0 (Unity) Application::TickTimer
0x00007ff6990c203a (Unity) MainMessageLoop
0x00007ff6990c6de0 (Unity) WinMain
0x00007ff69a4ab7ee (Unity) __scrt_common_main_seh
0x00007ff8166c269d (KERNEL32) BaseThreadInitThunk
0x00007ff81760a9f8 (ntdll) RtlUserThreadStart

Hello, thanks for reaching out and raising awareness to this issue!

As discussed in your support ticket, a server-side fix has been confirmed by our Engineering team for this issue. No actions or changes are required on the project side, and things should work again as they did before. Thanks for also confirming that the issue was resolved on your end.

I will go ahead and mark this post as resolved. Thanks again for raising this and being a valued member of our community. Please reach out again if you need any support at all.

After updating to Unity 6.3 we got this exact error message.

I just got this error and I did NOT update anything (I am on Unity 2022.3.62 and using Vivox version 16.6.0). So, this might be caused by a breaking API change or server issue on Vivox’s side of things?

I just made a post about it here: Vivox SDK Error: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Unity.Services.Vivox.Editor.GetVivoxInternalsResponse'

Ok, then it is probably server side again and has nothing to do with Unity 6.3.

Which version of Vivox are you using? I’m using a slightly outdated version - 16.6.0 - but I’m curious if you’re getting the same error on a newer version.

I am using the newest version.

Ok, then all versions are likely affected.

I submitted a support ticket for this issue as well (Ticket #2537666), to hopefully get some eyes on this error soon.

Hi folks. The Vivox team is aware of this issue and currently remedying it with high priority. We’ve already identified a backend server change which we believe caused the issue and are working to correct it.

Please note that live games using the Vivox service in production do not appear to be affected, only the retrieval of credentials in the Unity Editor.

I will follow up once I’ve been able to confirm deployment of the fix.

A server side fix for this issue has been deployed.

You should not need to restart the Unity Editor. If you have a Vivox-enabled Unity Cloud project linked, your Vivox credentials should sync automatically as they had before, and you will be able to connect to and use the service normally.

I have already verified this in my own local project, but please feel free to follow up if the issue persists.