Try setting a single clients talking proximity to: 5.0 (Using key controls, for example).
The other clients are still able to hear you, as long as their talking proximity is set higher.
What should happen:
When setting NetworkSetTalkerProximity(5.0) for a client, only clients within that radius should be able to hear him talk - regardless of their value in NetworkSetTalkerProximity.
The normal behavior for NetworkSetTalkerProximity is that it set both the hearing and talking range for the client.
For example, letās say we have ClientA which has their proximity range set to 5.0, and ClientB which is someone else who is 8 meters away, has their proximity range set to 10.0.
Neither ClientA nor ClientB would be able to hear each other, despite ClientA being within ClientB's proximity.
Exactly. And right now if another client sets the native to a higher value, they can hear the player with the lower value - even if theyāre out of range.
Not sure how this can be resolved - Iām not sure if thereās a way to add arbitrary metadata (the sending clientās range setting) to the voice channel.
Yeah, with the legacy system all clients had to be aware of each otherās proximities, and from what I can see in the mumble implementation, thereās no easy way to do that.
I think a better compromise would be supporting the native NetworkOverrideReceiveRestrictions which would allow developers to build legacy-like (or custom) behavior when it comes to VoIP in OneSync. I believe Mumble also supports client-sided overrides for hearing as well.
Yeah. Implementing a way for developers to implement their own behavior for VoIP would be the best solution in my opinion.
Also, thanks for the detailed diagram explaining my issue