How to Control Individual Player Voice Volume with VOIP Talker Component? (Blueprint Only)

Context:

Blueprint only; UE 5.6; Online Subsystem Steam; Advanced Sessions Plugin; VOIPTalker component;

What i’m trying to do:

I’m trying to implement a locally controlled volume slider in my UI that allows players to adjust the voice volume of specific other players individually. I want each player to have their own volume slider that only affects how loud that particular player sounds to the local user.

What i’ve already tried:

Here is how i’m setting my voice chat via the VOIPTalker component:

I’ve used this to get the VOIPTalker component of that specific player:


UI Slider “On Value Changed” Event → Target Player Controller → Get Controlled Pawn → Get Component by Class (VOIP Talker) → [STUCK HERE]

There’s no option or parameter to adjust the component’s volume, at least none that I could find.

welcome to the forums.

if you can assign a source effect (like when you assigned the attenuation) you could control it there.

effects can have params.

or at least you can control the wet/dry levels.

maybe just changing the wet/dry levels without an effect will give you the same result.

btw that delay there is an infinity loop. i won’t recommend that.

Hey, thanks man. But is adjusting the volume through a sound effect really the right approach? I mean, if it works I’m fine with it, but I’ve been trying all day and just couldn’t get it to work.

Isn’t there a simpler way to handle this? From what I’ve heard, the VOIP Talker component spawns an audio component at runtime whenever a player speaks. If I can capture that audio component, I might be able to adjust it using the ‘Set Volume Multiplier’ node and setting it equal to the volume slider amount in the UI.

Its not a wrong approach depending on what you prefer, is up to you really.

You can detect spawned actors by subsciribing to a global delegate. I cant recall now,but its easy to find.

Beware that it will trigger for all spawned actors.

I dont know the specifics of voip components. But i know they can be tricky. I would assume theres a more streamlined approach but im not aware of it currently.

Hey, did you find a solution? I was also thinking about changing the sound class parameters, but I’m not sure about the part where it only works for you. It should definitely be possible to change someone’s volume for everyone.

you can have a submix for each person, and control the volume that way.

it would be a bit basic, but i think it would work. it will allow you to mute and specify effects individually.

but i don’t think you can create submixes dynamically via code, so you’ll need to create a pool of submixes before hand. it’s still ok to do so.