Placeholder-Software / Dissonance

Unity Voice Chat Asset
70 stars 5 forks source link

[bug] Voice is discarded and delayed #94

Closed SteffanPoulsen closed 6 years ago

SteffanPoulsen commented 6 years ago

Context

I have written on reddit before, and the problem seemed to have been solved at that time. But after more stress-testing it has reappeared. The problem is that voice doesn't seem stable. I receive reports from my players, and have witnessed that voice audio seemingly randomly gets thrown away, or in some cases is extremely delayed.

An instance could be: Player A can hear B, C perfectly fine, but player B can only hear player C, and player C can only hear player A. I can't get a handle on the pattern, but it always degrades to this state after a pretty short amount of playtime when enough players are online (~4+).

We tried a lot of debugging the last time, and fixed some issues with difference in Quality settings - and this time I have tried everything I can think of: Upgraded to latest version, removed all custom code, switched to a very basic voice system with no channels and such, added the P2P solution from your docs to see if it was a host performance issue. But so far nothing has helped. Note: We also tried to see if we could provoke the behavior with only two players while using Clumsy with extremely "poor" networking settings - but the problem didn't occur.

Important note: There doesn't seem to be a correlation between voice "performance" and general networking performance in the game while the issue occurs. It only affects the voice, while the game still runs well. This to me would indicate that at least the problem lies in Dissonance, and not Photon Bolt, but I can't be sure.

Expected Behavior

I would expect the system (in case of networking issues, if thats the cause), to simply discard the voice backlog completely and catch up to the current state instantly. Hearing voice that is 20sec old is way worse than no voice at all.

Steps to Reproduce

  1. Use Photon Bolt, and create a server
  2. Join with 3+ clients (with varying ping)
  3. Use proximity voice (without collider trigger), and have more or less constant voice on all entities
  4. Let the session run for 20+ min and evaluate

Your Environment

martindevans commented 6 years ago

Hi Steffan, do you have any logs from a time this has happened? With elevated logging settings ideally, but any level will do :)

SteffanPoulsen commented 6 years ago

Hey Martin, Thanks for responding! I'll have some logs you tomorrow :)

Edit: (It's been a long week, by tomorrow I mean monday) - have a great weekend!

martindevans commented 6 years ago

I've just submitted 6.2.1 to the asset store, it should be available within a week (depending on review times). If you email me you invoice number (martin@placeholder-software.co.uk) I can send you back that build. You may as well get those logs with the latest version :)

martindevans commented 6 years ago

Immediately after 6.2.1 went live on the asset store I realised two potential problems which could have been causing some of these issues. 6.2.2 Just went live with a fix for those two issues, so use that for testing :)

martindevans commented 6 years ago

We've had a couple of releases since this was a problem, some of which included fixes for similar problems. Please feel free to re-open this or create a new issue if the problems persist :)