Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[16.5.4] - 2024-12-18
Add version 16.5.4 by name.Changed
- The licenses and third party notices have been updated.
- Gamecore: Improved handling of hotswapping capture and render devices.
Fixed
- A bug where trying to join multiple channels quickly would lead to an exception.
- Gamecore: Issues preventing Remote Control functioning with Vivox through Xbox Manager. See documentation for full details.
- Gamecore: A bug where USB audio devices were not being detected when plugged in.
[16.5.3] - 2024-11-04
Add version 16.5.3 by name.Added
- WebGL support for Directed Messages
Fixed
- Fixed WebGL Presence now being set when logged in
- Removed all imports and usage of a deprecated Google Analytics platform. This service was never active and no data had been collected during the time that it was included. 599ecedb1 (VOX-1039: Fix for WebGL DM functionality (#464))
[16.5.2] - 2024-10-03
Add version 16.5.2 by name.- Added an exception for if the Consent API's are called in an invalid state.
- Switched the Client cleanup functionality from OnApplicationQuit to Application.quitting to be more sure that the application is actually quitting.
- Fixed a bug that would prevent the SDK from starting up in an editor with domain reload turned off.
[16.5.1] - 2024-09-16
Add version 16.5.1 by name.- A crash that would occur on visionOS when joining a channel.
[16.5.0] - 2024-08-23
Add version 16.5.0 by name.Added
- WebGL now has limited support for voice and text chat in a single channel.
- Vivox Safe Voice consent endpoints have been added to the VivoxService, allowing for collection of consent from users for Vivox Safe Voice recordings.
Changed
- 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.
Fixed
- 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, occassionally 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.
[16.4.0] - 2024-07-03
Add version 16.4.0 by name.Added
- A new sample,
Text Chat Sample
, to the package: This text-focused sample showcases a robust chat experience that demonstrates sending, editing, and deleting DM or channel messages along with retrieving past conversations and their message history. 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.
Changed
- Upgrades underlying Vivox SDK Dependency to version 5.24.0
Fixed
- 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.
[16.3.0] - 2024-04-17
Add version 16.3.0 by name.Added
VivoxConfigurationOptions.BluetoothProfile
for configuring the type of Bluetooth profile Vivox should use. This configuration currently affects only mobile devices.VivoxConfigurationOptions.MobileRecordingConflictAvoidance
property to enable/disable mobile recording conflict avoidance.This configuration currently affects only Android mobile devices.IVivoxService.EffectiveInputDeviceChanged
event to listen for when the effective input device changes.IVivoxService.EffectiveOutputDeviceChanged
event to listen for when the effective output device changes.IVivoxService.EffectiveInputDevice
property to provide information about the current effective input device.IVivoxService.EffectiveOutputDevice
property to provide information about the current effective output device.
Changed
- Upgraded
com.unity.services.core
dependency to version1.12.5
. - Upgraded underlying Vivox Core SDK to version
5.23.1
.
Fixed
- Fixed a bug preventing the SDK from properly using UAS with particular Vivox backend environments.
[16.2.0] - 2024-03-19
Add version 16.2.0 by name.Added
- Support for Windows ARM64.
VivoxMessage.RecipientPlayerId
property to provide the recipient's player ID toVivoxMessage
objects returned from aIVivoxService.GetDirectTextMessageHistoryAsync
query.VivoxMessage.IsTranscribedMessage
property to easily identify if a message is a speech-to-text transcribed message.IVivoxService.SpeechToTextEnableTranscription
method that allows you to enable the speech-to-text audio transcription inside a channel.IVivoxService.SpeechToTextDisableTranscription
method that allows you disable the speech-to-text audio transcription inside a channel.IVivoxService.IsSpeechToTextEnabled
method that allows you to check if the transcription is enabled or disabled inside a channel.IVivoxService.StartAudioInjection
method to allow you to start audio injection in a channel. Injected audio is played only into the channels you're transmitting into.IVivoxService.StopAudioInjection
method to allow you to stop audio injection in a channel.IVivoxService.IsInjectingAudio
method to allow you to know if audio is being injected.IVivoxService.SpeechToTextMessageReceived
Bind/Unbind this event handler to a method to get notified when a transcribed message is added.LoginOptions.SpeechToTextLanguages
A list of languages used as hints for audio transcription. The default is an empty array, which implies "en".
Fixed
- Fixed an issue with display names not being provided to new
VivoxMessage
objects when a user had supplied a display name while signing into Vivox. - Fixed a race condition that could prevent direct message or channel message history queries from being completed.
- Fixed an issue where supplying a Player ID to the
IVivoxService.GetDirectTextMessageHistoryAsync
query would not correctly filter the results to that Player ID. - Fixed an issue where if either the text or audio plane of a channel failed to connect, or was unexpectedly disconnected, an error was not thrown and information about what occured was not provided.
- Fixed an issue that would arise when leaving and immediately rejoining a channel resulting in an exception being thrown due to not being completely disconnected from the channel yet.
- Fixed a Unity editor crash when calling Vivox APIs while exiting Play Mode.
- Fixed a bug where a participant would have a low volume when leaving and rejoining a channel.
- Fixed a bug where a participant transmitting to both a positional (3D) and a non-positional (2D) could only be heard in the non-positional channel.
- Fixed a bug with Participant Audio Taps would only get audio in the first channel joined.
- Fixed a build issue that would break TestFlight certification on iOS builds.
- Fixed an issue where capture sounds would be robotic on some macOS devices.
[16.0.1] - 2023-12-12
Add version 16.0.1 by name.Added
IVivoxService.GetConversationsAsync
method for querying channel and direct message conversations a user has participated in.IVivoxService.SetMessageAsReadAsync
method for setting a message as seen/read.VivoxConversation
class to neatly encompass all of the details of a particular channel or direct message conversation.ConversationType
enum to help identify the type of conversation that is provided byIVivoxService.GetConversationsAsync
.ConversationQueryOptions
class used to provide optional configurations for theIVivoxService.GetConversationsAsync
query.
Fixed
- Fixed an issue where the default token expiration provided to
IVivoxTokenProvider.GetTokenAsync
was incorrect. - Fixed an issue causing an exception when calling
IVivoxService.LogoutAsync
while not in any channels. - Fixed an issue where the
IVivoxService.LogoutAsync
orIVivoxService.JoinChannelAsync
methods would not complete if the user was not logged in.
Removed
- Removed
AudioFadeDistance.None
option as it is not a valid 3d option
[16.0.0-pre.1] - 2023-09-14
Add version 16.0.0-pre.1 by name.Added
- Launch of the new Unity SDK with an easier-to-use API.
- Vivox Unity SDK v16 is a major update to the API which will require manual changes. Follow the 16.0.0 upgrade guide to upgrade an existing Unity Vivox implementation to this new version.
- Audio Source per participant feature has been added.
- Audio Source per channel feature has been added.
- New Text Chat capabilities, featuring the addition of APIs for querying chat history and enabling the editing or deletion of sent direct or channel messages.
Fixed
- Fixed issues where users could hear repeated audio blips in the Core SDK.
- Fixed an issue that triggered when joining a 3D channel after a 2D channel where session groups ignored clamping distance.
- Fixed a crash that triggered when a user attempted to send a message while Automatic Connection Recovery was ongoing.
Changed
- Messages from blocked participants from chat history queries are now omitted.
- Upgrading minimum Unity version support to 2020.3.
Removed
- Substantial API revamp has resulted in the removal of the prior public API.
[15.1.210000-pre.1] - 2023-08-01
Add version 15.1.210000-pre.1 by name.Changed
- Upgrades underlying Vivox SDK Dependency to version 5.21.0
[15.1.200100-pre.1] - 2023-05-08
Add version 15.1.200100-pre.1 by name.Changed
- Upgrades underlying Vivox SDK Dependency to version 5.20.1
[15.1.200000-pre.1] - 2023-03-15
Add version 15.1.200000-pre.1 by name.Changed
- Upgrades underlying Vivox SDK Dependency to version 5.20.0
- Obsoletion of the defunct SessionArchive and AccountArchive APIs
[15.1.190400-pre.1] - 2023-01-06
Add version 15.1.190400-pre.1 by name.Changed
- Upgrades underlying Vivox SDK Dependency to version 5.19.4
[15.1.190200-pre.2] - 2022-12-21
Add version 15.1.190200-pre.2 by name.Fixed
- Fixed an issue with the Android VivoxNative.aar library causing it to have issues when trying to resolve internal dependencies.
[15.1.190200-pre.1] - 2022-09-26
Add version 15.1.190200-pre.1 by name.Changed
- Upgraded underlying Vivox SDK dependency to version 5.19.2.
Fixed
- Fixed an issue with audio buffer-related generated APIs causing the Unity editor to crash.
[15.1.190000-pre.1] - 2022-09-26
Add version 15.1.190000-pre.1 by name.Changed
- Upgraded underlying Vivox SDK dependency to version 5.19.0.
[15.1.180001-pre.5] - 2022-09-01
Add version 15.1.180001-pre.5 by name.Added
- Added a number of generated APIs back to the SDK which were previously being omitted.
Fixed
- Fixed an issue with Build Configuration values being stored as nulls instead of empty strings which caused an exception in the editor if a project was not linked in the Project Settings.
[15.1.180001-pre.4] - 2022-08-08
Add version 15.1.180001-pre.4 by name.Changed
- Adjusted the Windows and Mac VivoxNative library .meta files to enable
Load on Startup
so they get loaded in regardless of the build target of the editor. Notably, this caused compiler errors when entering Play Mode if the editor build target was iOS since our Mac library, which gets used for the editor alongside the Windows library, wasn't loaded yet.
Fixed
- Fixed an issue with various plugin
.meta
files not targeting their specific platform resulting in editor crashes when entering Play Mode if additional Vivox platform packages got installed. - Fixed an issue that would cause a compiler error if the Authentication package wasn't available to the ChatChannelSample. The Authentication package should get automatically pulled in when the ChatChannelSample is installed, but if it hadn't been, a compiler error would appear.
[15.1.180001-pre.3] - 2022-07-13
Add version 15.1.180001-pre.3 by name.Added
- Added VivoxConfig as a parameter to the VivoxService.Instance.Initialize(...) method so developers can configure the Vivox Client's settings on startup.
Changed
- Stopped removing minus ('-') characters from the Environment ID when appending it to the AccountId and ChannelId URIs. The Environment ID will now be appended verbatim.
Fixed
- Fixed an issue causing generated files from the Android platform to make it into the package resulting in methods that could not be resolved due to the APIs not existing in any other library.
[15.1.180001-pre.2] - 2022-06-22
Add version 15.1.180001-pre.2 by name.Fixed
- Fixed a warning that would always throw when using custom credentials via InitializationOptions.SetVivoxCredentials and initializing the Vivox service.
- Fixed IEnvironmentId not being added as an optional dependency in VivoxPackageInitializer.cs causing erroneous and confusing warnings when initializing the Vivox service.
[15.1.180001-pre.1] - 2022-06-03
Add version 15.1.180001-pre.1 by name.Fixed
- Fixed how we fetch the Authentication package's Environment ID to fix the Vivox package not working when using newer versions of Authentication.
- Fixed debug/local token generation when Test Mode is enabled in the Vivox service settings and the user is signed into Authentication.
[15.1.180000-pre.1] - 2022-05-02
Add version 15.1.180000-pre.1 by name.Added
- Automatic Connection Recovery has been added to the Unity API, along with an example Connection Indicator added to the Chat Channel Sample.
Changed
- Fixed a bug that left the suggestion to add the Authentication package for easy Vivox Logins even after the Authentication package had been imported.
[15.1.170000-pre.1] - 2022-02-25
Add version 15.1.170000-pre.1 by name.Added
- Added a display name to constructs provided by the SDK when events fire for receiving a message, a transcribed message, or a buddy request.
Changed
- Removed the option to provide custom credentials in the Vivox service window.
- Updated ChatChannelSample to demonstrate how to leverage both Authentication and a custom credential-based flow.
[15.1.160000-pre.1] - 2021-10-20
Add version 15.1.160000-pre.1 by name.Fixed
- Fixed a bug that prevented users from switching to the custom credentials option in the Vivox service window when Unity Game Services was enabled.
- Improved the experience for developers using the Chat Channel Sample who are not using Unity Game Services.
- Enabled bitcode configuration for build output that prevented developers from archiving Xcode builds on iOS.
Added
- Added a DeviceEnergy property to AudioOutputDevices.cs and AudioInputDevices.cs
Changed
- Adjusted Vivox's default AVAudioSession values on iOS to provide improved volume-related behavior.
[15.1.150002-pre.2] - 2021-10-20
Add version 15.1.150002-pre.2 by name.Fixed
- Chat Channel Sample was not pulling in its Authentication package dependency. The Authentication package is now added to the project if it is not already there.
[15.1.150002-pre.1] - 2021-10-06
Add version 15.1.150002-pre.1 by name.Added
- For com.unity.services.vivox users, new Channel and Account classes should replace ChannelId and AccountId, respectively.
- Updated Debug Token Generation to be overridden with Auth JWT generation if the Authentication package is in use.
- Added a warning for Apple silicon builds which notes that Vivox does not work. macOS users must set their Unity target platform architecture to Intel 64-bit.
- Added an Editor script to broadcast a warning if a conflicting Unity Asset Store package is loaded in a project.
Changed
- Updated the Chat Channel Sample to properly use VivoxSettings credentials.
- Modified channel session deletion to use channel state events. Connected channels can now be safely deleted when connected.
- Updated the Services menu to redirect to the Vivox Project Settings.
- Updated the code snippet example for signing in and joining an echo channel in the Vivox Unity SDK QuickStart documentation to use plain bools instead of checks against the enum.
- Revised various engine startup warnings.
- Shortened autogenerated file names.
[15.1.150000] - 2020-08-02
Add version 15.1.150000 by name.Added
- New Vivox Credential manager in Project/Settings/Services/Vivox
- Dependency on com.unity.services.core in our new Unity.Services.Vivox namespace
- New way to initialize Vivox allow side all other Game Services
- Leverage Unity Project Environments
[5.15.0-preview] - 2020-06-03
Add version 5.15.0-preview by name.Changed
- First transition from our old Unity Asset Store Package to a UPM Package com.unity.services.vivox