Alright after going fully insane, I went back to the basics and managed to get it working. Below are the screenshots for how it works in my pawn.
-
Event triggered on beginplay in my pawn:
-
After the event triggers, we check if the player state is valid. If it is not, we continue checking on a delay. If it is valid we register the VOIP Talker component that we added to our pawn to the replicated player state. Note: The player state is automatically replicated and can be retrieved by right clicking and then searching for Get Player State.
-
After registering the VOIP Talker, we set the mic threshold and set the voice settings on the VOIP Talker component. This is not a custom variable, just drag off your VOIP Talker component and search for ‘Set Settings’. Then Make VoiceSettings.
And that was all I needed to do.
Doing tests outside of the engine, in a build on Steam confirms that this approach works for the server and all clients.
I also realise EOS has voice chat functionality, but barely any of it is exposed to blueprints, so that is why I am not using that system and sticking with the VOIP Talker for now.