コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】uGUI のボタンが反応しない場合に考えられる原因

はじめに

f:id:baba_s:20191120135337g:plain

uGUI のボタンが反応しない場合に考えられる原因を書き残しておきます

1. Canvas に GraphicRaycaster が アタッチされていない

f:id:baba_s:20191120135920p:plain

そのボタンが所属している Canvas に
「GraphicRaycaster」がアタッチされていない可能性があります

f:id:baba_s:20191120135300p:plain

その場合は、Canvas オブジェクトに「GraphicRaycaster」をアタッチします

2. シーンに EventSystem が存在しない

f:id:baba_s:20191120135927p:plain

そのボタンが存在するシーンに「EventSystem」が存在しない可能性があります

f:id:baba_s:20191120135314p:plain

その場合は、Hierarchy の「Create > UI > Event System」を選択して
シーンに EventSystem のオブジェクトを作成します

3. ボタンの手前に UI オブジェクトが存在する

f:id:baba_s:20191120135326p:plain

ボタンの手前に他の UI オブジェクトが存在する可能性があります

f:id:baba_s:20191120135322p:plain

その場合は、手前に存在するオブジェクトを

  • 不要であれば削除したり非アクティブにする
  • 奥に移動しても問題ない場合は、奥に移動する
  • 押す必要が無いオブジェクトであれば Raycast Target をオフにする

などの対応を行います