This page provides the release notes for the Agora Unity SDK.
The Agora Unity SDK supports the following scenarios:
- Voice call
- Live interactive audio streaming
v3.0.1 was released on September 16, 2020.
In this release, Agora improves the user experience under poor network conditions for both the
LIVE_BROADCASTING profiles through the following measures:
- Adopting a new architecture for the
- Upgrading the last-mile network strategy for both the
LIVE_BROADCASTINGprofiles, which enhances the SDK's anti-packet-loss capacity by maximizing the net bitrate when the uplink and downlink bandwidth are insufficient.
To deal with any incompatibility issues caused by the architecture change, Agora uses the fallback mechanism to ensure that users of different versions of the SDKs can communicate with each other: if a user joins the channel from a client using a previous version, all clients using v3.0.1 automatically fall back to the older version. This has the effect that none of the users in the channel can enjoy the improved experience. Therefore we strongly recommend upgrading all your clients to v3.0.1.
If you also use the On-premise Recording SDK, ensure that you upgrade your On-premise Recording SDK to v3.0.0 so that all users can enjoy the improvements brought by the new architecture and network strategy.
1. Dynamic library replaces the static library (for macOS and iOS)
This release adds support for a dynamic library and removes the static library. This release renames the library from
AgoraRtcKit.framework. If you upgrade your SDK to v3.0.1, you must re-import the
AgoraRtcKit class in Xcode, and set the Embed attribute as Embed & Sign.
If you integrated the encryption library
AgoraRtcCryptoLoader.framework, you must re-import the
AgoraRtcCryptoLoader class in Xcode, and set the Embed attribute as Embed & Sign.
2. Enumerator names change
This release changes
CLIENT_ROLE_TYPE, and changes the name of the following members:
1. Specify the area of connection
This release adds
GetEngine2 for specifying the area of connection when creating an
IRtcEngine instance. This advanced feature applies to scenarios that have regional restrictions. You can choose from areas including Mainland China, North America, Europe, Asia (excluding Mainland China), and global (default).
2. Multiple channel management
To enable a user to join an unlimited number of channels at a time, this release adds the
AgoraChannel class. By creating multiple
AgoraChannel objects, a user can join the corresponding channels at the same time. Besides, this release adds
SetMultiChannelWant for enabling the multi-channel mode.
After joining multiple channels, users can receive the audio streams of all the channels, but publish one stream to only one channel at a time. This feature applies to scenarios where users need to receive streams from multiple channels, or frequently switch between channels to publish streams. See Join multiple channels for details.
3. Audio mixing pitch
To set the pitch of the local music file during audio mixing, this release adds
SetAudioMixingPitch. You can set the
pitch parameter to increase or decrease the pitch of the music file. This method sets the pitch of the local music file only. It does not affect the pitch of a human voice.
4. Adjusting the playback volume of the specified remote user
AdjustUserPlaybackSignalVolume for adjusting the playback volume of a specified remote user. You can call this method as many times as necessary in a call or the live interactive streaming to adjust the playback volume of different remote users, or to repeatedly adjust the playback volume of the same remote user.
5. Voice beautifier and audio effects
To improve the audio quality, this release adds the following enumerate elements in
VOICE_CHANGER_PRESETadds several enumerations that have the prefixes
VOICE_BEAUTYenumerations implement voice timbre transformation, and the
GENERAL_BEAUTY_VOICEenumerations beautify chat voice.
AUDIO_REVERB_PRESETadds the enumeration
AUDIO_VIRTUAL_STEREOand several enumerations that have the prefix
AUDIO_VIRTUAL_STEREOenumeration implements reverberation in the virtual stereo, and the
AUDIO_REVERB_FXenumerations implement voice changer effects, new style transformation effects, and new room acoustics effects.
1. Audio profiles
To meet the need for higher audio quality, this release adjusts the corresponding audio profile of
AUDIO_PROFILE_DEFAULT(0) in the
|v3.0.1||A sample rate of 48 KHz, music encoding, mono, and a bitrate of up to 52 Kbps.|
|Earlier than v3.0.1||A sample rate of 32 KHz, music encoding, mono, and a bitrate of up to 44 Kbps.|
2. Quality statistics
Adds the following members in the
RtcStats class for providing more in-call statistics, making it easier to monitor the call quality and memory usage in real time:
On iOS, to avoid the prompt for finding local network devices, the
gatewayRtt parameter is disabled by default. See the FAQ for details. If you do not mind the prompt, and want to enable the
gatewayRtt parameter, please contact Agora technical support via email@example.com.
This release enables interoperability between the RTC Unity SDK and the RTC Web SDK by default, and deprecates the
- Audio issues relating to audio mixing, audio encoding, and echoing.
- Issues relating to app crashes, log file, and unstable service during CDN live streaming.
- Issues relating to
SetLiveTranscoding, which do not support an array format.
- Inaccurate report of the
OnClientRoleChangedHandlercallback, authentication issues with an App ID and token, and a garbled log directory.
- Nine enumerations in
VOICE_CHANGER_PRESET, such as
- Twelve enumerations in
AUDIO_REVERB_PRESET, such as
memoryAppUsageInKbytesmembers in the
totalActiveTimemember in the
channelIdmember in the
CLIENT_ROLE changed to
CLIENT_ROLE_TYPE. Enum name
AUDIENCE changed to
OnFirstRemoteAudioFrameHandler, replaced by
OnStreamUnpublishedHandler, replaced by
v2.9.2 is released on Feb 17, 2020.
- This release fixed some abnormal behaviors on Android devices.
- This release fixed the stuck behavior of using the Editor debug mode on Windows platform.
Agora Unity SDK is widely used in games, education, AR, VR and other scenarios.
v2.9.1 was released on December 23, 2019.
Functions and features
1. Multi-platform support
Supports iOS, Android, macOS and Windows (x86/x86_64) platforms.
2. Interoperability with the Agora Web SDK
EnableWebSdkInteroperability method for enabling interoperability with the Agora Web SDK in
3. Raw data
Supports raw audio data. You can capture and process the raw data according to your needs.
4. External data source
Provides APIs for accessing to the external data source. You can configure the external audio source, and push the data to the Agora Unity SDK.
Supports encryption of audio streaming. The following table shows the information of the encryption libraries for the Android and iOS platforms. If you do not intend to use this function, you can remove the encryption libraries to decrease the SDK size.
6. Cloud proxy
Supports the cloud proxy service. See Use Cloud Proxy for details.
See the following documentation to quickly integrate the SDK and implement real-time voice and video communication in your project.
Agora also provides an open-source Unity Sample on GitHub.