Do you find the steam app ID 480 stable for testing VoIPTalker?
I’ve been following tutorials for setting up VoIPTalker with proximity and PushToTalk on a client-server multiplayer using AdvancedSessionsPlugin. It seems to kind-a work, but just parts of words are going though the VoIP talker communication. I’m attaching the VoIPTalker to either Mesh or Capsule.
Could it be that AppID 480 is always congested on Steam side and it not reliable to test VoIP communication?
Or maybe I should troubleshoot microphone settings? I do not see any silence-detection mechanism that could interfere with my tests, but that is still a possible problem that I might be missing.
Important for me was to mark both events as Reliable (initially I thought this is not essential)
Multicast_initVoipTalker
For safety - check if voipTalker is already valid - if it is then do not create new one
check if PlayerState is valid and wait until it is valid - in future I’d rather avoid waits inside thread, but it works
call AddVoipTalker and save to a variable (not setting replication on that variable)
Note: I gave up on implementation with VoipTalker added as a Component to character with ComponentReplicates=true
RegisterWithPlayerState for VoipTalker
set settings on VoipTalker with CapsuleComponent as a attach point and attenuation settngs
set MicThreshold to -1
ExecuteCommand with voice.MicNoiseGateThreshold 0.01 - I’ll furhter troubleshoot if this really helps or rather causes cracking in voice sometimes
ExecuteCommand with voice.SilenceDetectionThreshold 0.01 - I’ll furhter troubleshoot if this really helps or rather causes cracking in voice sometimes
GameMode:
Inside OnPostLogin (here setup without seamless travel),
adds each connecting playerController to an array
check if this array has already all players
if all players connected then wait further e.g.: 10 seconds (e.g.: setTimerByEvent 10 seconds)
Iterate playerController array and for each call on playerController.getControlledPawn → call thirdPersonCharacter.Server_initVoipTalker
It seems that it is really important to call init of VoipTalkers on all players only when all of them are already present on the connected session. If I would allow host player to create its VoipTalker without this wait then it would not attanuate the voice.