Vivox Unity release notes
Find release notes for all UGS products on the UGS release notes page.
Version 16.6.0
Release overview
Version 16.6.0 introduces comprehensive audio processing improvements with enhanced noise suppression, expanded platform support for audio processing features, and significant performance optimizations.
This release focuses on improving voice quality while optimizing resource usage across all supported platforms.
For further technical details on all the changes included in this release, refer to the CHANGELOG.md
file within the SDK.
Key features and bugs addressed
- Updated license and third-party notices
- Fixed a bug where adjusting timeScale could prevent events from firing.
- Fixed an issue where creating an Android build with Player Settings > Android settings > Publishing Settings > Minify enabled would result in runtime errors.
Audio Processing Improvements:
- Noise suppression now applied to capture audio by default
- Extended Acoustic Echo Cancellation (AEC) and Automatic Gain Control (AGC) support to Nintendo Switch™, PlayStation®, Xbox, visionOS, and UWP
- New AEC implementation prevents microphone dropouts in the presence of echo on mobile platforms
- AGC enabled by default with improved microphone capture loudness
- Optimized voice codec for reduced packet loss and jitter
Performance Optimizations:
- Existing AEC/AGC platforms:
- 11 MB reduction in memory usage during active sessions
- Improved CPU efficiency in Release configuration
- New AEC/AGC platforms:
- 44% increase in audio thread CPU usage
- 6 MB additional memory usage during sessions
- Memory allocator improvements reducing heap memory requests
Platform-Specific Changes:
- Android: Added 16KB page size support for native libraries
- Android: Proguard rules now included in AAR libraries
- iOS: Removed support for ARMV7 architecture
- iOS: Removed bitcode
- Android/iOS: Improved platform AEC control independent of DVPS
Implementation Considerations:
- Consider adjusting application volume presets due to new AGC behavior
API changes
New interface:
IVivoxGlobalAudioSettings
provides centralized control of the new audio processing APIs, accessible throughVivoxService.Instance.VivoxGlobalAudioSettings
.
Noise suppression controls:
bool NoiseSuppressionEnabled { get; set; }
Echo cancellation settings:
bool PlatformAcousticEchoCancellationEnabled { get; set; }
bool VivoxAcousticEchoCancellationEnabled { get; set; }
Audio processing features:
bool AutomaticGainControlEnabled { get; set; }
bool DynamicVoiceProcessingSwitchingEnabled { get; set; }
bool VolumeBasedDuplicationSuppressionEnabled { get; set; }
bool PositionalChannelVolumeProtectionEnabled { get; set; }
Clipping protection:
bool AudioClippingProtectorEnabled { get; set; }
AudioClippingProtectorParameters ClippingProtectorParameters { get; set; }
Known issues
None.
Version 16.5.4
Release overview
This release updates the licenses and third party notices for the package and contains multiple fixes for the Unity SDK.
Key features and bugs addressed
- GameCore: Improved handling of hotswapping capture and render devices.
- GameCore: Fixed issues preventing Remote Control functioning with Vivox through Xbox Manager. Refer to the Vivox Xbox documentation for full details.
- GameCore: Fixed a bug where USB audio devices weren't being detected when plugged in.
- Fixed a bug where trying to join multiple channels quickly would lead to an exception.
API changes
None.
Known issues
None.
Version 16.5.0
Release overview
This release includes a slew of bug fixes, particularly around token behavior and audio taps along with the inclusion of a couple of new API's to be used in conjunction with the new Vivox Safe Voice service.
Key features and bugs addressed
WebGL now has limited support for voice and text chat in a single channel.
Moved the
IVivoxTokenProvider
validation step from Vivox SDK initialization to the Login operation.Made the error reported by the
VivoxParticipantTap
a bit clearer when the 'Channel Name' or the 'Participant Name' parameter are unknown or not set.Resolved an issue where attempting to rejoin a channel was not possible after a JoinChannelAsync operation experienced a TimeoutException.
Resolved an issue where
CancellationTokenSource
instances used internally were not being disposed of when no longer needed, occasionally resulting in unexpected behavior.Fixed a bug where allocated memory that was supposed to be aligned was not actually aligned.
Fixed a bug where the "Channel Name" field for Audio Taps would reset to empty when an unexpected value was entered.
Improved the overall experience of interacting with the Audio Tap inspector by registering the tap only after all fields are fully edited, instead of on every character entry.
Fixed a bug that would prevent the
VivoxParticipant.ParticipantMuteStateChanged
event from firing.
API changes
- Vivox Safe Voice consent endpoints have been added to the VivoxService, allowing for collection of consent from users for Vivox Safe Voice recordings.
Known issues
- Some issues are still lingering with automated credential pulling on Unity version 2020 and 2021.
Version 16.4.0
Release overview
This release adds a new sample focused on text-based features such as editing and deleting DMs and channel messages.
Key features and bugs addressed
A new sample,
Text Chat Sample
, has been added to the package. This text-focused sample showcases a robust chat experience that demonstrates sending, editing, and deleting DM or channel messages, as well as retrieving past conversations and their message history.Fixed a bug that would cause the SDK to throw an exception when trying to perform cleanup operations, such as leaving channels, during OnApplicationQuit in the Unity editor.
API changes
VivoxConfigurationOptions.IosVoiceProcessingIOMode
for configuring how the VoiceProcessing IO unit is used in different scenarios. TheIVivoxService.IosVoiceProcessingIOMode
can be used to get the current value andIVivoxService.SetIosVoiceProcessingIOMode
to set the value at runtime. This configuration is only relevant on iOS.
Known issues
None.