さけのさかなのブログ

同人ゲーム開発やってます。Unity使ったりする。

【Unity】2019.2のAssertは例外を投げる

 Unity2019.2を試したところ、どうも処理が途中で止まっているっぽい?ということで見てみたところ、Assertで警告が出るとそれ以降の処理が為されていない模様。

 この警告、例外をスローしている。

変更

2019.1

f:id:enuenupi:20190731065350p:plain

2019.2

f:id:enuenupi:20190731065359p:plain

 という感じ。前からもAssert.raiseExceptiontrueにすることで例外を投げるように設定できたんですが、2019.2ではこれがデフォルトでtrueになり、いずれ固定値になるとのことです。

代替

 Debug.Assertを使いましょう。Assertions.Assertと同じく[Conditional("UNITY_ASSERTIONS")]が設定されているので、ビルドすれば引数の評価処理ごと消えます。

 ただしbool値しか渡せない。Assertにあった評価メソッド群を手放すというのは逆行してる感があるんだけど…。

docs.unity3d.com