Documentation

​
​

Development

User Acquisition

Monetization

Industry

Vivox Unreal SDK

Vivox Unreal SDK

Vivox
​
​
Vivox Unreal SDK
  • Overview
  • Get started
  • Release notes
  • Developer guide
  • Tutorials
  • Reference
    • Vivox Core Unreal class model overview
    • Vivox Unreal conventions
    • Unreal API Reference Manual
    • Access Token Developer Guide
      • Access token terminology
      • Requests that require access tokens
      • Access token identifiers
      • Access token format
      • Access token examples
      • Generate a token on the client
      • Generate a token on a secure server
      • Key update API
      • Access token error codes
    • Server to Server Web API Reference Guide
    • Third-party license information
  1. Vivox Unreal SDK documentation

Generate a token on the client

Generate Vivox Access Tokens on the client.
Read time 1 minute
Last updated 6 months ago

Important
Use the following access token generation methods during initial development and prototyping. Do not include this method of generation in production builds of your game. Allowing token generation on the client during production is both a security risk and can cause unexpected token expiration errors for your users.
The following APIs are available to generate insecure access tokens from the client for use during early development:
  • IChannelSession::GetConnectToken()
  • IChannelSession::GetTranscriptionToken()
  • ILoginSession::GetLoginToken()
  • IParticipantProperties::GetMuteForAllToken()
Each API takes the following parameters:
  • The token signing key
  • The token time to live in seconds
The following examples display access tokens for login and join, respectively:
const TCHAR *kKey = TEXT("demo-key");const FTimespan kExpiration = FTimespan::FromSeconds(90);// Login (This assumes an already initialized Client object)ILoginSession &loginSession(client.GetLoginSession(/* Account to login */));loginSession.GetLoginToken(kKey, kExpiration);// Join (This assumes an already signed in ILoginSession object)IChannelSession &channelSession(loginSession.GetChannelSession(/* ChannelId to join*/));channelSession.GetConnectToken(kKey, kExpiration);// Mute (This assumes an already signed in ILoginSession object joined to a Connected IChannelSession)IChannelSession &channelSession(loginSession.GetChannelSession(/* ChannelId to mute in*/));IParticipant &participant(channelSession.Participants()[ParticipantKey]);participant.GetMuteForAllToken(kKey, kExpiration);// Transcription (This assumes an already signed in ILoginSession object joined to a Connected IChannelSession)IChannelSession &channelSession(loginSession.GetChannelSession(/* ChannelId to begin transcribing*/));channelSession.GetTranscriptionToken(kKey, kExpiration);

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