こんにちわ、オオバです。

uGUIのボタンが反応しなくなることありませんか?

原因は数多く考えられますが、
今回8つの解決方法を紹介します。

この8項目全てチェックしてもらえれば、
再びボタンは動き出すでしょう。

ボタンが反応しなくなって困っている方は
ぜひ読んでみてください。

では1つずつ詳細について解説していきます。

この記事の内容

1. RaycastTargetがOFFではないか?

ImageRawImageTextといったボタン要素の
RaycastTarget設定漏れ
最も見落としやすい原因の1つです。

【保存版】uGUIのボタンが反応しない8つの原因_0

RaycastTargetにチェックが
入っているかを確認しましょう。

2. ボタンの上にUIがないか?

ボタンの上に透明のUIが被って
反応しないというのもあるあるの原因です。

【保存版】uGUIのボタンが反応しない8つの原因_1

透明なUIがボタンを覆っていることもあるため、
注意しましょう。

3. ButtonのInteractableがOFFではないか?

Interactableにチェックを入れないとボタンは反応しません。

【保存版】uGUIのボタンが反応しない8つの原因_2

※`Buttonコンポーネント`を使っている場合の話

RaycastTargetをONにしていても
Interactableにチェックがないと
ボタンは反応しないため注意です。

4. OnClickの設定はあるか?

OnClickにクリックしたときの処理を
セットし忘れないでしょうか。

【保存版】uGUIのボタンが反応しない8つの原因_3

↑の例はButtonコンポーネントを使用したときの例ですが、
プログラムで記述している場合も同様です。

5. EventSystemはあるか?

ヒエラルキーのEventSystemを確認してみましょう。
1つどこかにありますでしょうか?

【保存版】uGUIのボタンが反応しない8つの原因_4

EventSystemがないとボタンは動きません。
ちょっとしたUnity誤操作で消してしまったことがあります。

6. GraphicRaycasterはあるか?

Canvasと同階層にGraphicRaycasterはありますでしょうか。

【保存版】uGUIのボタンが反応しない8つの原因_5

GraphicRaycasterはタップやクリックの判定処理をしています。
必ず必要なコンポーネントです。

Canvas作成時に自動で作られますが、
いちからCanvasを構築した時に漏れがちです。

7. GraphicRaycasterがOFFではないか?

GraphicRaycasterははあっても
アクティブな状態である必要があります。

【保存版】uGUIのボタンが反応しない8つの原因_6

8. CanvasGroupのBlocksRaycastがOFFではないか?

CanvasGroupを使っている場合、
BlocksRaycastsがONになっているか確認しましょう。

【保存版】uGUIのボタンが反応しない8つの原因_7

まとめ:uGUIのボタンが反応しない8つの原因

uGUIのボタンが反応しない8つの原因を紹介しました。

  1. RaycastTargetがOFFではないか?
  2. ButtonのInteractableがOFFではないか?
  3. ボタンの上にUIがないか?
  4. OnClickの設定はあるか?
  5. EventSystemはあるか?
  6. GraphicRaycasterはあるか?
  7. GraphicRaycasterがOFFではないか?
  8. CanvasGroupのBlocksRaycastがOFFではないか?

今回考えつく原因はリストアップしたため、
今後ボタンが反応しない状況が生まれたら
本記事を思い出してください。


フォローすると UIデザイナー力の上がるTwitter やってます!
今日から使えるテクニックを発信中。
ぜひフォローしてみてください!
👉フォローはこちら!

最後まで読んでいただきありがとうございました!
すばらしいuGUIライフをお過ごしください。

期間限定 最大95%オフセール
効率UPメガバンドル開催中!最大95%オフ!!!
期間 : 11月1日午後15時59分まで
オススメ記事
検証環境