VivoxNative.dll not found in Windows Store

I’m having an error when trying to initialize Vivox on my app on the Universal Windows Platform. I don’t have this issue on the editor or on android / pc builds.

The error occurs when the vivox initialization function is called:

await VivoxService.Instance.InitializeAsync()

It used to work before. I updated the Vivox package a few times, so it could have broken after one of those updates, but I’m not sure at what point it stopped working

Here are the logs:

System.DllNotFoundException: Unable to load DLL 'VivoxNative'. Tried the load the following dynamic libraries: Unable to load dynamic library 'VivoxNative' because of 'Failed to open the requested dynamic library (0x06000000) - No se puede encontrar el módulo especificado.  (WinError:0000007e)
  at Unity.Services.Vivox.VivoxCoreInstancePINVOKE+SWIGExceptionHelper..cctor () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.VivoxCoreInstancePINVOKE..cctor () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.Client.get_Initialized () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.Client.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions config) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.Client.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions config) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.VivoxServiceInternal.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions options) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.VivoxServiceInternal.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions options) [0x00000] in <00000000000000000000000000000000>:0 
  at VivoxManager.LoginToVivoxAsync (System.String userName) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UnitySynchronizationContext.Exec () [0x00000] in <00000000000000000000000000000000>:0 
   --- End of inner exception stack trace ---
  at Unity.Services.Vivox.VivoxCoreInstancePINVOKE..cctor () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.Client.get_Initialized () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.Client.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions config) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.Client.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions config) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.VivoxServiceInternal.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions options) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.VivoxServiceInternal.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions options) [0x00000] in <00000000000000000000000000000000>:0 
  at VivoxManager.LoginToVivoxAsync (System.String userName) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UnitySynchronizationContext.Exec () [0x00000] in <00000000000000000000000000000000>:0 
   --- End of inner exception stack trace ---
  at Unity.Services.Vivox.Client.get_Initialized () [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.Client.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions config) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.Client.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions config) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.VivoxServiceInternal.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions options) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0 
  at Unity.Services.Vivox.VivoxServiceInternal.InitializeAsync (Unity.Services.Vivox.VivoxConfigurationOptions options) [0x00000] in <00000000000000000000000000000000>:0 
  at VivoxManager.LoginToVivoxAsync (System.String userName) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <00000000000000000000000000000000>:0 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () [0x00000] in <00000000000000000000000000000000>:0 
  at UnityEngine.UnitySynchronizationContext.Exec () [0x00000] in <00000000000000000000000000000000>:0

I tried:

  1. downgrading to version 16.0.1
  2. Deleting the library package
  3. Delaying the initialization

Nothing worked, I don’t know what else to do.

I am using Vivox v16.5.4 with unity 2021.3.21f1. Except webgl in every other platform(Windows, mac, android, ios) vivox initializes perfectly. Only in webgl I am getting an initialization error.

> Error on vivox channel join attempt - System.TypeInitializationException: The type initializer for 'Unity.Services.Vivox.vx_sdk_config_t' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Unity.Services.Vivox.VivoxCoreInstancePINVOKE' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Unity.Services.Vivox.VivoxCoreInstancePINVOKE.SWIGExceptionHelper' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'VivoxNative'.

System.DllNotFoundException: Unable to load DLL 'VivoxNative.Things I have tried

  • Deleted whole libray and restarted unity
  • Reinstalled vivox package
  • Tried downgrading to v16.5.2 and restarted unity again

So far issue parsisting only when i am hosting my webgl build on my server. Need help.

Check if the Unity version and the Vivox version you are using supports WebGL, I don’t know much about webGL since I have never developed for it.

I forgot to update this post. I’ll take the opportunity to do it now. I couldn’t solve the issue myself so ended up opening a ticket on support. Basically, they told me that Vivox is not full supported and maintained for UWP platform, but they plan to change this sometime in 2025. So, I end up switching Vivox for Photon Voice.

1 Like

Last I checked from v16.5.0 Vivox does provide partial webgl support for only one non positional channel. I was a bit hopeful after seeing that change. Since I can download the package using the current Unity editor’s (v2021.3.21f1) package manager, it should be supported. Still looking for answers.

P.S: Thank you for opening a bug report/ticket. If there is any public tracking link of that plz share.