サウンドのオプション機能
市販のゲームには大体音量を調整する機能がついています。
効果音、BGM、ボイスで個別に音量設定できたりしますが、
UnityでもAudioMixerを使用して実現することが出来ます。
AudioMixerを用意する
UnityEditorのメニューから
Assets→Create→Audio Mixer と選択し、AudioMixerを作成します。

各種サウンドグループを追加する
UnityEditorのメニューから
Window→Audio→Audio Mixer と選択するとAudioMixerウィンドウを開くことが出来ます。
前段で作成したAudioMixerを選択するとその内容がAudioMixerウィンドウに表示されます。
左側のGroups の右にある+ボタンを押すとサウンドグループを追加することが出来ます。
Masterを選択した状態で、サウンドグループを三つ追加し、
それぞれ、Se、Bgm、Voiceとします。

AudioSourceとサウンドグループを関連付ける
AudioClipの再生に使用するAudio Source には、OutputにAudioMixerのサウンドグループを設定できます。
以下の様にした場合、Seグループの影響を受けることになります。

サウンドグループの音量をスクリプトから設定できるようにする
AudioMixer上でサウンドグループを選択します(今回はSe)
インスペクタ上のVolume ラベルの辺りを右クリックするとポップアップメニューが表示されるので
「Expose ‘Volume (of Se)’ to script」を選択します。

選択後は、Volume ラベルの横に矢印が表示されます。

パラメータに名前をつける
AudioMixerウィンドウに戻ると右上にExposed Parametersと表示されているので、
クリックすると仮の名前がついているのが分かります。

これだと分かりにくいので、MyExposedParamをダブルクリックし、
わかりやすい名前に変更しましょう。
今回はSeの音量なので、SeMasterVolumeとしておきます。

スクリプトから音量を設定する
AudioMixer のSetFloat メソッドに先ほどつけた名前を指定すると、
サウンドグループの音量を変更できます。
ここで指定する音量のは、0.0〜1.0の値ではなく、デシベル(dB)になります。
_mixer.SetFloat(SeVolumeName, ToDecibel(volume));
デシベル(dB)に変換する
デシベルとは?
ゲーム内で音量を設定する際、スライダーで0.0〜1.0の間で調整すると思いますが、
AudioMixerへはデシベルに変換して渡す必要があります。
このようなメソッドを用意してやれば変換できます。
/// <summary>
/// 音量をデシベルに変換
/// </summary>
/// <param name="volume">音量(0.0 - 1.0)</param>
/// <returns>デシベル(-80dB - 0dB)</returns>
private float ToDecibel(float volume)
{
    return Mathf.Clamp(Mathf.Log10(volume) * 20f, -80f, 0f);
}
実際に反映してみる
GameView上のスライダーを変更すると、Seの音量を変更するようにしてみました。
AudoMixer上のSeの音量が変化しているのが確認できます。
ゲーム中のオプション画面でBgmの音量を変更した場合は、裏で流れているBgmで音量の変化をすぐに感じることが出来ます。
効果音の場合そうはいかないので、音量変更後に汎用的な効果音(決定音など)をならしてやると
分かりやすいかもしれません。

アプリ起動時に音量を変更できない
検証中に躓いたのですが、
アプリの起動時にAwakeメソッドからボリューム変更を試みた場合、うまくいきませんでした。
Start メソッド以降のタイミングなら大丈夫でした。