Audio
Beam, by default, relies on Unity's Audio system for capturing your game audio.
If you use a third party audio system such as Wwise or FMOD then please refer to our Third Party Audio docs
You can change the levels of audio by simply adjusting the volume slider in the Beam Manager
Each audio element (both the game audio and microphone) gets spawned in at runtime, but can also be added to your scene before you start playing if desired.
Do note that you need to place your Beam Unity Listener
on the same object as your standard Audio Listener as it binds directly to the OnAudioFilterRead
calls. This will also then needed to be re-added on every subsequent scene change. The Beam Audio Mixer
will automatically handle this, if you let it.
Microphone Capture
Depending on your choice in the Beam Settings you will either be using the Native or Unity microphone. It is recommended to use the native microphone, but the Unity one can be used if you are encountering problems.
Both options will be automatically spawned into your project at runtime (within the Beam Manager
).
Native Microphone
The Native Microphone bypasses Unity's audio system and samples microphone data directly. It produces a higher quality output than Unity will provide, especially on Android.
During the first recording or streaming of your installed application, the native microphone will request the microphone permission from the user. If this is rejected or cancelled then no microphone audio will be recorded and the native microphone will not start. You can also freely implement the logic yourself by following [Unity's guidelines}(https://docs.unity3d.com/ScriptReference/Android.Permission.RequestUserPermission.html), and request the microphone permission earlier on.
If you are using a 3rd party audio solution for your output, you may need to adjust your microphone sample rate to match it. This can be done via the Beam Settings.
Unity Microphone
The Unity Microphone utilises Unity's Microphone.Start call, which may impact your current workflow, especially if you are using third party audio. It does, however, automatically find all the required sample rates but cannot be adjusted like the native microphone. Unity generally samples the microphone at 16kHz on Quest, while our native mic defaults to 48kHz.