MRが楽しい

MRやVRについて学習したことを書き残す

UnityでToggleGroupを設定して必ずトグルが1つのみ選択されるようにする

本日は Unity の小ネタ枠です。
Unityで ToggleGroup を設定して必ずトグルが1つのみ選択されるようにする方法を記事にします。

ToggleGroup

ToggleGroup は Toggle のグループを設定するコンポーネントです。
ToggleGroup に所属する Toggle のうち、選択状態になるトグルは同時に1つのみになります。
docs.unity3d.com

ToggleGroupを設定してトグルが1つのみ選択されるようにする

実際にサンプルシーンを作成してみます。
Hierarchy で右クリックから[Create -> UI -> Toggle]で任意の数のトグルボタンを作成します。
トグルボタンはただ作成しただけだと、それぞれが独立に動作するので複数の項目が選択可能な状態になっています。

適当なオブジェクトに[ToggleGroup]コンポーネントを追加します。

1つのみ選択されるようにしたいトグルボタンの[Group]変数に[ToggleGroup]コンポーネントの参照を設定します。
この同一の[ToggleGroup]を参照するトグルボタンが連動して、必ず1つのみ選択されるようになります。


動作確認

実際にシーンを再生して確認してみます。
以下の通り、どのトグルを押しても必ず1つのトグルが選択される状態になります。


初期状態

初期状態で任にのトグルを選択状態にしておきたい場合は、そのトグルボタンの[IsOn]チェックを有効にしておきます。

1つも選択中でない状態を許容

デフォルトでは選択中のトグルがない状態は許容されないため、同じトグルをクリックしても選択状態は解除されません。
トグルが1つも選択中でない状態を許容するには[ToggleGroup]コンポーネントの[AllowSwitchOff]にチェックを入れておく必要があります。