🎖️
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