🎖️
Unity2020からUnityから呼ばれる関数の動作が変わった
概要
Unity2020より、EditorWindowを継承したクラス(正確にはHostViewを利用するクラス)でUnityから呼ばれる関数の仕様が変わった。
背景
↑の私の作ったやつで、Unity2020では動かないという issue が来たので色々調べた。
内容
もともと、私のコードでは非同期を使っていたので async Task OnGUI() としていた。しかし、ArgumentException: method return type is incompatible というエラーが出るようになった。
色々調べた結果、Unityの内部で変わったのはここ。
2019 2020
つまり、いままでは返り値の値は何でもよかったが2020からは必ず void ではないといけなくなった。(私は async void にした。)
影響を受ける関数は以下。
| 関数 |
|---|
| OnGUI |
| OnFocus |
| OnLostFocus |
| OnProjectChange |
| OnSelectionChange |
| OnDidOpenScene |
| OnInspectorUpdate |
| OnHierarchyChange |
| OnBecameVisible |
| OnBecameInvisible |
| Update |
| ModifierKeysChanged |
| ShowButton |
おわりに
まだネットには情報がなかった。やっぱりコード見るの大事。
Discussion