♻️
UnityのIL2CPPで式木使う方法メモ
環境
- Unity2019.1.7f1
方法
以下の link.xml
を Assets
直下に置く。
<linker>
<assembly fullname="System.Core">
<type fullname="System.Linq.Expressions.Interpreter.LightLambda" preserve="all" />
</assembly>
</linker>
簡単な式木なら Compile()
出来るようになります。(インタプリタで実行されます)
※ MakeGenericMethod
等使う場合は以下の記事の UsedOnlyForAOTCodeGeneration
の例のように事前に生成しておいて下さい。
※ Expression.Lambda
する Delegate
の引数や戻り値に値型があると厳しい。
Unity Test Runner の Play mode でいろいろ試せるので頑張って下さい。
Discussion