Licenses

Dissonances uses parts of the WebRTC project for audio preprocessing/postprocessing and the Opus codec for encoding/decoding audio. The distribution requirements for both of these projects are quite simple - you must include copies of the license in your project alongside Opus.dll and AudioPluginDissonance.dll:

Runtime Dependencies

Dissonance uses some Native plugins written in C++ for high performance audio processing. On some platforms these plugins require extra dependencies installed on the end user machine to correctly load.

Windows (Desktop)

Requires Visual Studio 2015 v140 Redist. It's recommended that you package this with your application and install it as part of your install process.

Windows (UWP)

Requires Visual Studio 2017 v141 Redist. It's recommended that you package this with your application and install it as part of your install process.

Linux

No runtime dependencies.

MacOS

No runtime dependencies.

Android (Including Oculus Go)

On Android you must request permission to use the microphone, see the Unity documentation for this here. If you use Android 6.0 or greater and API level 23 or greater there is a runtime permissions system which Unity does not support. However there is some excellent documentation by Oculus on how to build a plugin to request permissions here.

iOS

No runtime dependencies.

In the Player Settings for iOS there are four settings relevant to voice chat:

  • Microphone Usage Description: You must enter the reason for accessing the microphone on the iOS device.
  • Prepare iOS for Recording: You must enable this setting to enable low latency audio recording.
  • Mute Other Audio Sources: You may enable this to ensure that background audio does not interfere with voice audio.
  • Force iOS Speakers when Recording: You may enable this to force audio to the speakers even when headphones are plugged in. If this is not enabled all application audio will be played through the call speakers instead of the main speakers as soon as recording starts.