Things To Consider
Last updated
Was this helpful?
Last updated
Was this helpful?
Recommended to have some experience using the Unity UI and C#. This project is intended to be Indie friendly and to provide easy interactions with the Vivox Unity SDK. Built specifically for people who don't have time to learn how to use Vivox from scratch.
Although it’s not necessary, for almost all game types that will implement Vivox you will need a networking solution such as the following. There are more solutions so do your research before choosing the best solution for your game.
Keep in mind MLAPI has become Unity’s fully adopted network solution called NetCodeForGameObjects.
NetCode for GameObjects
FishNet
Mirror
,
Mirage
MLAPI
Photon - Multiple Networking SDK’s To Choose From
DarkRift
Even after you have chosen a networking solution, to get your game approved by Vivox for production status (out of sandbox mode) your players need to get authorization tokens (used for secure voice communications and keeps your Vivox credentials out of client / game / app code) from a dedicated server or possibly use cloud lambda functions(tested it with Amazon Lambda and it works) to receive proper Vivox Access Tokens. You can choose to keep your player count under < 5000 player limit and in sandbox mode but it still poses a security risk and not recommended. Also limits your game from being successful.
With all this in mind this asset does not provide networking code or solve the problem of getting Vivox Access Tokens(VAT’s) from a dedicated server. This asset does provide production code methods and examples but still poses the problem of requesting VAT’s directly from the client. One solution is to have a custom game server request the VAT’s from Vivox’s servers and then pass the VAT to the client so they can connect securely.
This makes it borderline impossible to send direct messages to players because players will have no knowledge of who is currently online. Your players would have to actually know each other or meet on a forum or Discord community and exchange usernames to be able to communicate with each other.
With this in mind if you are using a dedicated server, you can implement your own functionality. If you're not using a networking solution (or don’t want to implement your own system) then I would recommend using one of the following multiplayer friend/leaderboard integrations. There may be better options or for your game so do your research.
You can now use as a serverless option and stay within the Unity Eco-System instead of other solutions such as AWS Lambda, Azure Functions, Google Cloud Functions that run portions of your code in the cloud so you don't have to setup/pay for a dedicated game server.
Vivox has provided an example to get started creating VAT's for your app/game using Unity Cloud Code.
Also, at the time of this writing Vivox Presence Feature does not support access to information on any players connected to their server (currently buggy). **Update** in favor of .