Unityで音量調整をスライダーを利用して行う方法を実装していきます。
はじめに
Unityのバージョンは2021.3.14f1で実装していきます。
初めに、好きな音源をUnityに取り込んでおきます。今回はBGMとして、音量調整を実装していきます。

実装開始
音源をセットして、音量調節を実装した後に、スライダーでの実装、設定の保存を行っていきます。
音源をBGMとしてセットする
「Audio」→「AudioSource」を追加します。

AudioClipにBGMをセットします。

実行するとセットした音楽が流れます。Volumeを変更すると音量が変わります。

スクリプトで実装
音量の変更をスクリプトで実装してみます。下記はキーボードの「↑」で音量を上げて、「↓」で音量を下げています。
using UnityEngine; public class AudioManager : MonoBehaviour { private AudioSource bgm; private void Start() { bgm = GetComponent<AudioSource>(); } private void Update() { if (Input.GetKeyDown(KeyCode.UpArrow)) bgm.volume += 0.1f; if (Input.GetKeyDown(KeyCode.DownArrow)) bgm.volume -= 0.1f; } }
AudioSourceにスクリプトを追加して実行します。キーボード入力で音量が変わればOKです。

スクリプトは下記のようにしても同じように動作します。
using UnityEngine; public class AudioManager : MonoBehaviour { private void Update() { if (Input.GetKeyDown(KeyCode.UpArrow)) AudioListener.volume += 0.1f; if (Input.GetKeyDown(KeyCode.DownArrow)) AudioListener.volume -= 0.1f; } }
下記が「AudioSource」、「AudioListener」の公式スクリプトリファレンスです。
スライダーで音量を調整
次にスライダーで調整するのを実装します。「UI」→「Slider」を追加します。

スクリプトを下記に変更します。スライダーの値をボリュームにセットしています。
using UnityEngine; using UnityEngine.UI; public class AudioManager : MonoBehaviour { [SerializeField] private Slider bgmSlider; private void Start() { AudioListener.volume = bgmSlider.value; } public void ChangeVol() { AudioListener.volume = bgmSlider.value; } }
スクリプトのパラメータにスライダーをセットします。

Sliderの「OnValueChanged」に「ChangeVol()」をセットします。

これでスライダーと連動した音量になります。

設定の保存
スライダーでセットした音量を保存して次回は保存した音量を呼び出す場合、スクリプトは下記のような感じになります。
using UnityEngine; using UnityEngine.UI; public class AudioManager : MonoBehaviour { [SerializeField] private Slider bgmSlider; private void Start() { bgmSlider.value = PlayerPrefs.GetFloat("bgmVolume", 1); } public void ChangeVol() { AudioListener.volume = bgmSlider.value; PlayerPrefs.SetFloat("bgmVolume", bgmSlider.value); } }
playerprefsで設定を保存する詳しい記事は下記で書いてます。