I did a bit of looking around before hand its churning up the same sort of results, it doesn’t look like much of the VOIP information (especially steams) is accessible to the Blueprint section of UE4.
I may be wrong but here is what I want to achieve.
I want to be able to apply a radio/static effect to the players voices when they communicate in this co-op game, as well as change the VOIP sounds from being UI to Attenuated (actual real world positional locations).
e.g. DayZ or H1Z1 where you distance affects your ability to hear the other players, all while the game handles hundreds of voices on the same server.
I don’t need the same scale as Dayz or H1 but I do wan’t the same functionality, is this achievable with Steam Integration in UE4?
If so what are the areas I should be investigating?
Has anyone got an experience setting this up or is it all still theoretical?
I was able to adjust the sound attenuation used for VoIP by modifying the engine to access the audio component that is created and used for the VoIP to play on.
The functions to modify are:
FVoiceEngineImpl::SubmitRemoteVoiceData()
FVoiceEngineSteam::SubmitRemoteVoiceData()
You want to grab the RemoteTalkerId & AudioComponent from there and match it to a player and their pawn/character somehow.
What I did was modify the PlayerController class to add a new virtual function that could override.
This function (ModifyVoiceAudioComponent()) matches the RemoteTalkerId to a player state, then goes from there.
Note that there is a bug that can prevent you finding the correct pawn/character, so you may need to work around this by doing something similar to this.
I have tested it roughly on a on a LAN using OnLineSubSystemNull.
Hoping to try it out via Steam over the net soon.
With any luck, it works the same as it does offline, then I can work on improving it from there.