Documentation

Support

Vivox Unreal SDK

Vivox Unreal SDK

Integration with the Vivox Unreal SDK

Learn how to integrate the Vivox Unreal Software Development Kit into your project.
Read time 2 minutesLast updated 2 days ago

Vivox provides group text and voice communications through channels. Users can communicate with each other by joining the same channel. Channels support the following functionality:
  • Voice
  • Voice rendered with 3D effects (positional/directional audio)
  • Text
  • Muting a user for oneself
  • Muting a user for all users in the channel
  • Forced removal of a user from a channel (“kick”)
Channels have the following characteristics:
  • Channels are identified by channel IDs.
  • Channel IDs are assigned by the game.
  • Channels are platform agnostic - game clients running on different platforms interoperate with each other.
  • Channels are created on demand, and inactive channels consume no Vivox resources.
Users have the following characteristics:
  • Users are identified by user IDs.
  • User IDs are assigned by the game and must be unique to each user.
  • Users that are not logged in to the system consume no Vivox resources.
  • Users can subscribe to the presence of other users. Presence is a status and message that a user can optionally share with other users, regardless of whether either user is in a channel.
To expose Vivox capabilities to players, a game developer must perform the following actions:
  • Determine how to map player IDs to Vivox user IDs.
    • Ensure that there is one Vivox user per game player.
    • Typically, games use the player ID as a portion of the Vivox user ID, because the player ID is already unique to the player.
  • Determine how to map game audio and text-enabled object identifiers to Vivox channel IDs.
    • Typically, games use the game object identifier as a portion of the Vivox channel ID.
    • Audio or text-enabled game objects include the following examples:
      • Guild channels
      • Team channels for team versus team match play
      • Lobby channels
      • Private conversations between two players
      • Physical regions in a game world that map to 3D audio spaces
  • Determine the client platforms that are supported by a game.
  • Integrate the game client with the Vivox Core SDK to ensure that the following actions occur:
    • When a player logs in to a game, the corresponding user is logged in to the Vivox system.
    • When a player activates a game object (for example, joining a guild channel or entering a particular region in a game), the player is placed into the corresponding Vivox channel.
    • When a player wants to see the presence information of another player, the game client creates a subscription relationship between the corresponding Vivox users.
    • When text messages are available in a channel, display those text messages in the game.
  • Modify the game server to deliver Vivox access tokens to game clients (if a game developer wants to secure access to the Vivox voice system).
    • A Vivox access token is a JSON Web Token that grants the holder of that token a one-time permission to execute a particular Vivox operation.
    • The following operations are controlled by access tokens:
      • Signing in to Vivox as a specific user
      • Joining a specific Vivox channel as a specific user
  • Optionally modify the game server to communicate directly with the Vivox Voice Server by using the Vivox Server to Server Web API, which allows you to perform the following actions:
    • Drop or kick a user or all users from a channel
    • Mute or unmute a user or all users for everyone in a channel