スクリプトでオーディオミキサーグループを取得するにはAudioMixer.FindMatchingGroupsメソッドを使います。
引数にはマスターグループから目的のグループまでのパスを渡します。例えば、上の画像のグループ3の場合「Master/Group1/Group3」です。
部分一致なので「Group」という文字列を渡すとGroup1~3の3つのグループが取得できます。
using UnityEngine;
using UnityEngine.Audio;
public class MixerGroupTest : MonoBehaviour
{
[SerializeField] AudioMixer mixer;
// Start is called before the first frame update
void Start()
{
string groups = "";
foreach (var g in mixer.FindMatchingGroups("Group"))
{
groups += g.name + "\n";
}
Debug.Log(groups);
}
}
「Group1」を渡すと、グループ2のパスにはこの文字列が含まれていないので、グループ1と3の2つが取得できます。
mixer.FindMatchingGroups("Group1")
また、「Group1/」とスラッシュを付けて渡すと、グループ3だけが取得できます。
mixer.FindMatchingGroups("Group1/")
グループ1のパス「Master/Group1」には末尾にスラッシュがありません。