Procedure:
The following process details a workaround for a known issue in which trying to initialize the Vivox Unity SDK on macOS can result in the exception EntryPointNotFoundException
.
Cause:
This issue can occur after importing the Vivox package, adding code which initializes the Vivox SDK, then running your Unity project. Depending on your system settings, you might need to approve two or three library bundle files from the Vivox package the first time you initialize Vivox on your machine. The number depends on the Vivox version used. All versions include files libvivoxsdk.bundle and libVivoxNative.bundle, while older versions also include libortp.bundle. These files must be approved by you for Vivox to work correctly.
Resolution:
- In macOS, open System Preferences.
- Select Security and Privacy.
- Select the lock icon at the bottom of the menu, allowing you to make security changes. You may need to enter your account password.
- When your Unity project attempts to initialize the Vivox SDK for the first time, a series of two or three system dialogue messages might display, similar to the following:
- Approve each of these library bundles (libvivoxsdk.bundle, libVivoxNative.bundle, and sometimes libortp.bundle). Use the following process to approve each file:
- On the first prompt, select OK.
- Go to the Security and Privacy menu and select Allow Anyway.
- Go back to the project and initialize again.
- On the prompt that appears, select Open.
- Initialize the project again. The first prompt will appear again for the next lib. Repeat this process until all Vivox libraries are approved.
- After you have approved use of all Vivox library files, stop playing your game and then play it again.
- You can now successfully initialize Vivox.