Summary

  • UniVoice 4.11.0 is out
  • Tags are now sent as string[] which was added to com.adrenak.brw@1.2.0
  • IAudioClient<T>.UpdateVoiceSettings method added to easily update voice settings.
  • Convenience methods added to VoiceSettings to easily add, remove and set my tags, muted tags and deafened tags
  • Tags sample added to demonstrate a team vs team voice chat scenario

Description

The commit can be found here

FishNetClient, FishNetServer, MirrorClient and MirrorServer changed the way clients send and server reads the tags. I had tried something previously, and a developer later reported to me that tags were not being exchanged correctly. While I don't remember the issue exactly, I decided to add string array reading and writing to BRW and use that instead.

IAudioClient<T>.UpdateVoiceSettings has been added because it's just really annoying to have to remember calling SubmitVoiceSettings after every modification. It also makes things more verbose than they need to in many circumstances. Consider the tags sample script. Each of those listeners would look something like this:

x => {
  UniVoiceFishNetSetupSample.ClientSession.Client.YourVoiceSettings.SetMyTag("red", x);
  UniVoiceFishNetSetupSample.ClientSession.Client.SubmitVoiceSettings();
}

As far as convenience methods go, I had written in the client tags annoucement post that I will add some API enhancements to VoiceSettings, and 4.11.0 adds methods that allow you to set, add and remove tags instead of modifying the tag list directly.

And finally, I've added tags samples. It creates a barebones team vs team voice chat environment. Run on two clients, on one set My Tags to Red and on the other set it to Blue. On the Red client, mute and deafen Blue. And on Blue client, mute and deafen Red. This ensures that members of the red team can neither hear nor speak to blue team, and vice versa.

Closing thoughts

I have a feeling tags is done for now. I don't see myself many any big changes or improvements at least in the 4.x cycle. But let me know if you face any issues.


Join UniVoice Discord UniVoice on Github Contact via email