Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Core SDK

Vivox Core SDK

Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
    • Channels
      • Channel name criteria
      • Channel types
      • Echo channels
      • Positional channels
      • Volume differences
      • Channel identifiers for large scale games
      • Participant events
      • Channel webhooks
      • Join a channel
      • Leave a channel
      • Kick a user from a channel
      • Manage session groups
      • Audio injection
      • Methods for setting audio levels
      • Derumbler
      • Automatic connection recovery
        • Network connection state events
        • Network reconnect failure
        • Partial connection failure
    • Presence management
    • Messaging
    • Manage audio
    • Couch co-op
    • Android app development
    • iOS app development
    • macOS app development
    • Windows app development
    • Real-time recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Troubleshooting
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation

Network connection state events

Learn about network connection state events.
Read time 3 minutes
Last updated 8 months ago

The Vivox SDK provides details on the network connection status through network connection state events, which are informational and require no immediate action. These events are intended to supplement the game’s own notion of network reachability. They provide visibility into the Vivox SDK’s internal automatic connection recovery process under the following conditions:
  • The initial network connection to Vivox services has been established after
    vx_req_account_anonymous_login
    .
    Note
    This indicates normal operation and is not indicative of network connection recovery.
  • The network connection recovery process has begun.
  • Either the network connection has been restored, or reconnection attempts have failed.
These network connection state changes are reported through the following events for each user account that is signed in by using the standard Vivox event reporting mechanism:
Note
Some Vivox APIs that depend on network connectivity might result in undefined behavior when the Vivox SDK is disconnected from the network or is trying to recover its connection to Vivox services. Your application can avoid undefined behavior in the Vivox SDK by monitoring the Vivox connection state events that are detailed in the following list. Defer or temporarily disable Vivox requests that require an account_handle or session_handle in the request data structures when the connection state is recovering, because the success of those requests depends on a network connection to Vivox services.
  • vx_evt_connection_state_changed
    : Sent when a change has occurred in the connection to Vivox services.
  • connection_state
    :
    • connection_state_connected
      : Initial network connection has been established after vx_req_account_anonymous_login. Network-dependent API calls are safe.
      Note
      This occurs once for each time that a user signs in.
    • connection_state_recovering
      : Attempting to reestablish a connection to Vivox services. Avoid making network-dependent API calls until the connection has recovered or has failed to recover, otherwise undefined behavior can result.
    • connection_state_failed_to_recover
      : Failed to reestablish network connection to Vivox services. A logged_out event will follow. Wait to sign in again until after the game’s network connection has been restored.
    • connection_state_recovered
      : Network connection to Vivox services has been successfully reestablished. Network-dependent API calls are safe.
  • account_handle
    : The handle of a user who is signed in.
The following code is an example of how to handle connection state events. This, combined with the game’s own notion of network reachability, could be used to indicate voice and text communications availability to the user.
void HandleConnectionStateChangedEvent(vx_evt_connection_state_changed &evt){    vx_connection_state connection_state = evt.connection_state;    switch (connection_state)    {        case connection_state_connected:            printf("%s is connected to Vivox\n", evt.acct_handle);            // All API calls are safe to make            break;        case connection_state_recovering:            printf("Network connection recovering\n");            // Avoid making network-dependent API calls while the connection is recovering, such as login, logout, add_session, or remove_session.            break;        case connection_state_failed_to_recover:            printf("Network connection failed to recover\n");            // Expect a logged_out event to follow            // Wait to login until after the network connection is restored            break;        case connection_state_recovered:            printf("Reconnected to network\n");            // All API calls are safe to make            break;    }}

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