Voice Chat
The Voice Chat feature provides Steam voice communication for players in the current managed Multiplayer game.
It supports push-to-talk, voice activation, always-on transmission, global playback, proximity-based playback, per-player mute and volume controls, speaking-state queries, and persistent voice events.
Relationship with Multiplayer
Voice Chat is designed to run on top of the plugin's managed Multiplayer feature.
Start Steam Voice Chat starts voice for the current managed Steam multiplayer game. The active game supplies the player/session context used to route Steam voice data between participants.
If no compatible managed multiplayer game is active, Voice Chat cannot start successfully.
Main Capabilities
- Start and stop Steam Voice Chat
- Enable or disable voice without leaving the game
- Select Push To Talk, Voice Activation, or Always On input
- Set voice activation threshold
- Select global or proximity playback
- Configure proximity distance and spatialization
- Bind remote Steam users to in-world Actors
- Query local and remote speaking state
- Mute and unmute individual players
- Set per-player playback volume
- Subscribe to speaking and error events
Basic Workflow
A typical voice workflow is:
- Join or host a managed Multiplayer game.
- Call Start Steam Voice Chat.
- Select an input mode using
ESteamVoiceInputMode. - Select a playback mode using
ESteamVoiceChatMode. - If using Push To Talk, update Set Steam Push To Talk Active from your input logic.
- If using Proximity Voice, bind each remote Steam user to the Actor that represents that player in the world.
- Stop Voice Chat when the multiplayer voice session is no longer needed.
For practical Blueprint workflows, see Examples.
Voice Input Modes
ESteamVoiceInputMode controls when the local microphone is transmitted:
- Push To Talk — transmission follows the state set by the game
- Voice Activation — transmission begins when microphone RMS exceeds the configured threshold
- Always On — microphone transmission remains enabled while Voice Chat is active
The activation threshold uses a normalized 0–1 range.
Global and Proximity Voice
ESteamVoiceChatMode selects how remote voice is played.
In global mode, remote players are heard without positional attenuation.
In proximity mode, each remote Steam user should be associated with an in-world Actor using Set Steam Player Voice Actor. Voice is then played from that Actor and attenuated according to the configured full-volume and maximum distances.
Player Controls
Voice playback can be customized locally per remote Steam user:
- Mute or unmute a player
- Query mute state
- Set playback volume from
0to1 - Query whether a player is currently speaking
These controls affect the local listener only.
Persistent Voice Events
The feature exposes persistent events for:
- Local player started speaking
- Local player stopped speaking
- Remote player started speaking
- Remote player stopped speaking
- Voice Chat errors
Subscriptions return FSteamVoiceChatListenerHandle and should be unsubscribed when no longer needed.
Important Notes
- Voice Chat requires an active managed Multiplayer game.
- Proximity Voice requires remote Steam users to be associated with valid game Actors.
- Push-to-talk state only affects Push To Talk input mode.
- Per-player mute and volume settings are local to the current user.
- Persistent event subscriptions should be removed when no longer needed.
- Voice behavior should be tested with separate Steam clients/accounts in a realistic multiplayer environment before release.
Related Documentation
- Examples — common Voice Chat workflows
- API Reference — complete list of Voice Chat nodes
- Multiplayer — managed Steam multiplayer used by Voice Chat
- Testing Steam Functionality — multiplayer testing recommendations