So I've upgraded to Unity 2018.3.3f1 and gotten the latest Oculus Integration (1.34) from the Asset Store, which was supposed to have fixed all the incompatibilities. I then set up a clean room experiment where I connect two users using Platform SDK P2P and VoIP. The avatar movements are synced and you can hear each other, so everything works. But then if either of the users mounts a Rift headset, the VoIP will stop working on both ends. Avatar syncing still works. Upon taking the headset off VoIP still doesn't work.
Here's what I've gathered: - parent.pcmSource().PeekSizeElements() in VoipAudioSourceHiLevel starts returning 0 upon headset mount, returns normally before then. - Nobody seems to be subscribing to OVRManager.HMDMounted or any other Unity HMD mounting event - It doesn't seem to have anything to do with the mic being muted - When you put a headset on, what happens is it keeps sending PCM data, but just an array of zeros. It can be assumed its also wiping whatever data it receives from the other headset somehow. Considering it can't alter the other headsets program (Save sending some p2p message, but that seems unlikely).
If anyone has a solution, it would be greatly appreciated. I'm starting to think this may be the first time the bug isn't my fault, but hopefully, it is.