Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Core SDK

Vivox Core SDK

Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
    • Integration guide
    • Quick start guide
      • Initializing Vivox
      • Logging in
      • Assign a unique username
      • Generate a login access token
      • Submit a login request
      • Joining and leaving channels
      • Generate and submit a join token
      • Process join responses and events
      • Handle join errors
  • Release notes
  • Developer Guide
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation

Process join responses and events

Understand what events your game should to listen to during the joining process.
Read time 2 minutes
Last updated 8 months ago

When joining a channel there are two types of events your game should be configured to listen to. The first set of events will give you the status of the audio and text channels. The second set of events will provide information for UI events to manage a roster of “in-channel” users.

Audio and text event responses

Audio events:
void HandleMediaStreamUpdatedEvent(vx_evt_media_stream_updated *evt){ if (evt->state == session_media_connected) { printf("Audio Connected to %s\n", evt->session_handle);
Text events:
void HandleTextStreamUpdatedEvent(vx_evt_text_stream_updated *evt){ if (evt->state == session_text_connected) { printf("Text Connected to %s\n", evt->session_handle);
Use media to respond to audio events and use text to respond to text channel events. Craft responses to both if both text and audio are being used.

Participant updated events

Participant updated events allow you to manage a list of in-channel users for use in your game UI or elsewhere in your application.
void HandleParticipantAddedEvent(vx_evt_participant_added *evt){ //use this to update your roster/game that a player has joined a channel}void HandleParticipantRemovedEvent(vx_evt_participant_removed *evt){ //use this to update your roster/game that player has left a channel}void HandleParticipantUpdatedEvent(vx_evt_participant_updated *evt){ //this indicates when a player is speaking, not speaking, and other key player events}
When tracking participant state, it is important to use the
encoded_uri_with_tag
field as the unique identifier of the participant. This allows the game to distinguish between users who have left a channel and users who have rejoined a channel.
Note
Use the
is_current_user
field to distinguish between events that pertain to the local user from events that pertain to other users.
Next step, check for errors and verify your implementation.

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.

  • On this page
    • Audio and text event responses

    • Participant updated events


Report a problem with this page