目次
はじめに
Unity2019のプロジェクトをUnity2021に更新したらボタンが反応しなくなったので、その時の対応です。
原因
原因は「Doozy UI」でしたUnity20219と2021で、おそらくCanvas GroupのBlock Raycasts 周りに変更があったのでしょう、古い「Doozy UI」のUI Viewで、Canvasを使って非表示にしていたパネルのBlock Raycastがそのまま画面上に残ってしまい、ボタンタップを邪魔していました。


「Doozy UI」を最新版に更新すれば大丈夫かと思いアセットストアを覗くと、なんと「Doozy UI」は廃止され「Doozy UI Manager」というアセットに差し代わっていました、しかも互換性はないとの表記が!汗
Doozy UI Manager is not compatible with previous major versions of Doozy UI.
「Doozy UI」を「Doozy UI Manager」に置き換える気力はないので、「Doozy UI」のソースを編集して対応しました。
- Unity 2021.3.11
- Doozy UI 3.1.3
サンプル
- 「Doozy UI」の「UIView.cs」を開きます。
- 「Canvas.enabled = true / false」が記載されている箇所に「this.CanvasGroup.blocksRaycasts = Canvas.enabled」を追記します。
- 全部で6箇所あります。
//追記
this.CanvasGroup.blocksRaycasts = Canvas.enabled;
ご参考まで。