Important: This is documentation for the legacy version of the Vivox Unity SDK. This documentation will be removed after July 2025. Refer to the v16 documentation for the new version of the SDK.

Channel types

Vivox uses the following types of channels:

The channel type is indicated by the method used to initiate the channel join. JoinEchoChannelAsync joins an echo channel, JoinGroupChannelAsyc joins a group channel, and JoinPositionalChannelAsync joins a positional channel.

Note: When working with both positional and group channels, join the positional channel first, followed by the group channels.

Echo channels

Echo channels include an -e- in their SIP address, which is displayed in the following example:

sip:confctl-e-issuer.channel-name@domain.vivox.com

Developers can use these channels to give users a place to test their microphones or as a general way to test connectivity to the Vivox voice servers.

Note: Only use echo channels when disconnected from all other channels.

Non-positional channels

Non-positional channels, also referred to as 2D channels, include a -g- in their SIP address, which is displayed in the following example:

sip:confctl-g-issuer.channel-name@domain.vivox.com

Developers can use these channels to allow for level-wide audio and text channels that players can connect to.

Examples of scenarios where non-positional channels are often used include teams and squads in first-person shooters and party chat in MMOs.

Non-positional channels are typically the most used channel types in a Vivox implementation.

Positional channels

Positional channels, also referred to as 3D channels, include a -d- in their SIP address, which is displayed in the following example:

sip:confctl-d-issuer.channel-name@domain.vivox.com

Developers can use these channels to provide voice chat that is a part of a world, with player voices attenuating and panning to make it seem like they are speaking from where they are positioned in the game world.

Note: You can join only one positional channel at a time.

You can parametrize positional channels with certain values that change how the positioning of the player affects their voice. For more information, refer to Positional channel properties.