Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Unreal SDK

Vivox Unreal SDK

Vivox
​
​
Vivox Unreal SDK
  • Overview
  • Get started
  • Release notes
  • Developer guide
    • Set up your project
    • Unity Authentication Service in Unreal
    • Create voice and text channels
      • Channel management
      • Channel name criteria
      • Channel types
      • Positional channels
      • Channel identifiers for large scale games
      • Participant events
      • Join a channel
        • Request capture device access
        • Initiate a channel join
      • Leave a channel
      • Channel webhooks
      • Audio injection
      • Automatic connection recovery
    • Messaging
    • Audio management
    • Muting
    • In-game moderation
    • Android app development
    • iOS app development
    • Server-side recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Real-time recording
    • Transmission
    • Troubleshooting
  • Tutorials
  • Reference
  1. Vivox Unreal SDK documentation
  2. Channels

Initiate a channel join

How to initiate a channel join request in Vivox.
Read time 1 minute
Last updated 8 months ago

The following code displays an example of how to initiate a channel join:
/* . . . */ChannelId Channel(kDefaultIssuer, "example_channel", kDefaultDomain, ChannelType::NonPositional);IChannelSession &MyChannelSession(MyLoginSession.GetChannelSession(Channel));bool IsAsynchronousConnectCompleted = false;IChannelSession::FOnBeginConnectCompletedDelegate OnBeginConnectCompleted;OnBeginConnectCompleted.BindLambda([this, &IsAsynchronousConnectCompleted, &MyChannelSession](VivoxCoreError Error){ if (VxErrorSuccess == Error) { IsAsynchronousConnectCompleted = true; // This bool is only illustrative. The connect call has completed. }});MyChannelSession.BeginConnect(true, true, true, MyChannelSession.GetConnectToken(kDefaultKey, kDefaultExpiration), OnBeginConnectCompleted);/* . . . */
Note
The IChannelSession::FOnBeginConnectCompletedDelegate callback does not indicate that the user has successfully joined the channel.
The IChannelSession::EventChannelStateChanged event runs when a player has completely joined the channel, has the intended audio and text states connected, and there is a fully formed list of channel participants.
  • If all states that are attempting to connect to the channel have successfully connected, this event runs with an
    IChannelConnectionState
    of
    Connected
    .
  • If all states have been disconnected from the channel, this event runs with an
    IChannelConnectionState
    of
    Disconnected
    .
The following code displays an example of how this event runs:
void UMyGameClass::OnChannelSessionConnectionStateChanged(const IChannelConnectionState &State){ FString ChannelName(State.ChannelSession().Channel().Name()); if (ConnectionState::Connected == State.State()) { UE_LOG(MyLog, Log, TEXT("Channel %s fully connected\n"), *ChannelName); } else if (ConnectionState::Disconnected == State.State()) { UE_LOG(MyLog, Log, TEXT("Channel %s fully disconnected\n"), *ChannelName); }}
This event is generated in response to messages from the Vivox network (for example, when a user is forcibly removed from a channel by the game server).

Copyright © 2026 Unity Technologies
LegalPrivacy PolicyCookiesDocumentation Terms of UseDo Not Sell or Share My Personal InformationYour Privacy Choices (Cookie Settings)

"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S and elsewhere (more info here). Other names or brands are trademarks of their respective owners.

Some pages are machine-translated for convenience, and may contain inaccuracies. In the event of conflicting information, the English version is authoritative.


    Report a problem with this page