スポンサーリンク

【Unity】ボタンが反応しないときの原因と対処法

Unity

今回は、uGUIButtonが反応しなくなる原因と対処法を紹介していきます!

どれも簡単に対処することが出来るので、1つずつ確認してみてください!

RaycastTargetのチェックが外れている

Buttonの見た目を表示しているImageコンポーネントRaycastTargetを確認します。

RaycastTargetチェックが入っていない状態では、ボタンに対するクリックやタップの判定が反応しなくなります。

ButtonコンポーネントのInteractableのチェックが外れている

ButtonコンポーネントInteractableのチェックボックスを確認します。

Interactableチェックが入っていない状態では、ボタンを押すことが出来なくなります。

ボタンに他のUIが被っている

Buttonオブジェクトより前面に、他のUIが被っていないかを確認する。

Buttonより前面に、ImageなどのUIがあるとき、被っている部分の当たり判定が、反応しなくなります。

画像ではImageが被っていない右側のみ反応します!

UIが押されたときの処理を登録していない

Buttonコンポーネントの、OnClick押されたときの処理を登録しているかを確認します。

スクリプトの関数名などを変更したときに、登録が外れることがあります。

GraphicRaycasterがCanvasに存在しない

Canvasのゲームオブジェクトに、GraphicRaycasterが存在しているかを確認します。

GraphicRaycasterは、Canvasの子オブジェクトの当たり判定を管理するものなので、ボタンなどを配置するときは、Canvasコンポーネントアタッチされているか確認しましょう!

EventSystemがシーンに存在しない

ゲームシーンに、EventSystemが存在しているかを確認します。

EventSystemは、プレイヤーからの入力を受け取ってUIに対して入力のイベントを送信するためのものなので、ゲームシーンに存在しているか確認しましょう!

CanvasGroupeを使っている時

CanvasGroupeを使っている時に、各種設定のチェックが入っているかを確認します。

Interactableのチェックが入っているかを確認する。

BlocksRaycastsのチェックが入っているかを確認する。

どちらもチェックが入っていないとボタンが反応しないのでCanvasGroupeを使っている時は、確認してみてください!

まとめ

ボタンが反応しないときの原因と対処法の紹介は以上です!

今回紹介した内容で大体の問題は、対処できると思いますが、他のアセットと干渉してしまっているなど、紹介した内容以外に、原因がある場合もあるので、ご了承ください。

お疲れさまでした!

タイトルとURLをコピーしました