Unity2018でもInspectorウィンドウでSliderをいじると警告が……

Unity2018でもInspectorウィンドウでSliderをいじると警告が……

Sliderを使っているとき、InspectorからValueを変更することもあります。というかSliderを使うなら値の設定はほぼ確実にすると思うんだけど、そのとき大量に以下の警告が出ます。

————————————-

SendMessage cannot be called during Awake, CheckConsistency, or OnValidate
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

————————————-

以前UnityのIssuTrackerで確認したところ、5.5で治ったけど5.6で再発するようになった、なんて書かれていました。

このブログでもチュートリアルの中でこのメッセージに行き当たったので、実は取り上げていたんですよね。

当時のバージョンはUnity2017.4だったので、それから直ってるかなーなんて期待もしましたが、Unity2018.2でも変わらず。

ぐぬぬ……。

なお、コンソールが埋め尽くされる以外の実害はなさそうなので、無視しても良さそうです。

 

環境

macOS 10.13 High Sierra

Unity2018.2.2f1

再現方法

簡単に再現方法を。

[UI] -> [Slider]を選択し、シーンにSliderを追加します。

Sliderを追加する
Sliderを追加する

 

追加されたSliderを選択して、InspectorウィンドウでValueを変更します。適当に左右に動かせばOKです。

動かしてみよう
動かしてみよう

 

なんということでしょう。大量に警告が出力されるではないですか。

大量の警告が!!
大量の警告が!!

 

警告は全て以下のメッセージです。

————————————-

SendMessage cannot be called during Awake, CheckConsistency, or OnValidate
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

————————————-

動かすたびに表示されるので、地味に気になります。右の数値フィールドでダイレクトに値を指定すれば出てこないので、一応の回避は可能。

 

他の事例

Issue Trackerで確認した他の事例は以下の通り。

ゲームプレイ中に出力される

Unity2017.2でFixedになっているけど、この記事のメッセージと同じものがまだ出ているみたい。

このIssueに投稿されたコメントを見るに、2018.1でも起きている様子。

Sliderの向きを変えると出力される

こちらはUnity2018.1で投稿されたもの。

Directionを変える
Directionを変える

 

SliderやScrollbarのDirectionを変更するとメッセージが出力されます。

Unity2018.2で実際にやってみたけど同じようにメッセージが出て来ました。でも出力元がちょっと異なるのね。

————————————-

SendMessage cannot be called during Awake, CheckConsistency, or OnValidate
UnityEditor.PopupCallbackInfo:SetEnumValueDelegate(Object, String[], Int32)

————————————-

結局どうすべきか

実害がないので、メッセージは無視して良いと思います。UnityEngineの内部から出てるっぽいのでいじれないですし。

どうしても気になるなら以下の行動を避けると吉。

  • SliderのValueをGUIのスライダーを使って変更する
  • SliderのDirectionを変更する
  • ScrollbarのValueまたはSizeを変更する
  • ScrollbarのDirectionを変更する

この辺を避けつつ、Unityさんが直してくれるのを祈るのです。

アプリ公開までの攻略チャートを作りました!

CTA-IMAGE

「スマホ向けのアプリを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験から手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


アプリをリリースする観点から書いているので各アプリストア向けの作業が入っていますが、企画、設計、開発、テスト部分については他のプラットフォームでも使える知識が満載です。


無料で入手できるのでぜひお早めにゲットして、開発をブーストさせてください!