Help with voice chat over Steam

Fixed in 4.13

Hi, we’re wondering if anyone has successfully implemented OnlineSubsystem voice chat. We’ve tried to implement both always-on and PushToTalk voice. In any case, when voice is enabled, it works for short 1-5 second bursts, stops working entirely for 10-15 seconds, and repeats that cycle. We’ve checked hardware settings and have made sure that mics/speakers work over skype. There doesn’t seem to be any voice-related documentation yet, so any help will be greatly appreciated.

To enable voice, we’re doing the following:



IOnlineSubsystem* ion = IOnlineSubsystem::Get(FName("Steam"));
if (ion == nullptr)
{
	return;
}
ion->GetVoiceInterface()->StartNetworkedVoice(0);


Here are the relevant parts of our DefaultEngine.ini:


[/Script/Engine.GameEngine]
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam
bHasVoiceEnabled=true
VoiceNotificationDelta=0.01

[OnlineSubsystemSteam]
bEnabled=true
SteamAppId=xx
SteamDevAppId=xx
GameServerQueryPort=xx
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90

[Voice]
bEnabled=true
  
[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="OnlineSubsystemSteam.SteamNetConnection"

[/Script/Engine.Engine]
bSmoothFrameRate=True
SmoothedFrameRateRange=(LowerBound=(Type=Inclusive,Value=22.000000),UpperBound=(Type=Open,Value=62.000000))
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="OnlineSubsystemUtils.IpNetDriver")

DefaultGame.ini:



[/Script/Engine.GameSession]
bRequiresPushToTalk=true


Thanks!