ドキュメント

Unity Engine

Unity Engine

IL2CPP 追加引数のためのプラットフォーム固有の設定

Supply custom additional arguments to the IL2CPP compiler from code.
読み終わるまでの所要時間 2 分最終更新 1ヶ月前

プロジェクトに IL2CPP の追加引数が設定されている場合、複数のプラットフォーム用にコンパイルすると、期待通りに動作しないことがあります。特に Linux 用にクロスコンパイルする際にこの問題は顕著です。
IL2CPP の追加の引数がすでに設定されているかどうかを調べるには、以下のいずれかを実行します。
  • 環境変数
    IL2CPP_ADDITIONAL_ARGS
    が設定されているかどうかを確認します。
  • ProjectSettings/ProjectSettings.asset
    で、エディタースクリプトに
    additionalIl2CppArgs
    という値があるかどうかを確認します。
追加の IL2CPP 引数を設定する方法はすべてのプラットフォームにグローバルに適用されるため、目的のプラットフォーム以外のプラットフォーム用に設定すると、コンパイル時に問題が発生する可能性があることに注意してください。
IPreprocessBuildWithReport
フックを (以下のように) 使用して、IL2CPP 引数が必要なプラットフォームにのみ設定されるようにします。

IPreprocessBuildWithReport フック

IPreprocessBuildWithReport
フックを使用して、スクリプトや Build ダイアログをビルドして追加の引数を設定します。
class MyCustomPreprocessBuild: IPreprocessBuildWithReport{ public int callbackOrder { get { return 0; } } public void OnPreprocessBuild(BuildReport report) { string addlArgs = ""; if (report.summary.platform == BuildTarget.StandaloneWindows || report.summary.platform == BuildTarget.StandaloneWindows64) addlArgs = "--compiler-flags=\"d2ssa-cfg-jt\""; UnityEngine.Debug.Log($"Setting Additional IL2CPP Args = \"{addlArgs}\" for platform {report.summary.platform}"); PlayerSettings.SetAdditionalIl2CppArgs(addlArgs); }}

追加リソース