Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Обработка специфичных для платформы параметров для дополнительных аргументов IL2CPP

Если в вашем проекте есть дополнительный IL2CPPразработанный Unity сервер сценариев, который вы можете использовать в качестве альтернативы Mono при сборке проектов для некоторых платформ. Подробнее
Посмотрите в Словарь
, тогда компиляция для более чем одной платформы может не работать как и ожидалось, особенно при кросс-компиляции для Linux.

Чтобы узнать, заданы ли какие-либо дополнительные аргументы IL2CPP, выполните одно из следующих действий:

  • Проверьте, установлена ​​ли переменная среды IL2CPP_ADDITIONAL_ARGS.
  • В ProjectSettings/ProjectSettings.asset проверьте, есть ли в сценарии редактора значение с именем additionalIl2CppArgs.

Обратите внимание, что методы установки дополнительных аргументов IL2CPP глобально применяются ко всем платформам, что может вызвать проблемы компиляции, если они установлены для платформы, отличной от желаемой. Используйте хук IPreprocessBuildWithReport (как показано ниже), чтобы убедиться, что аргументы IL2CPP заданы только для той платформы, которая их требует.

Крючок IPreprocessBuildWithReport

Используйте хук IPreprocessBuildWithReport для создания скриптовфрагмента кода, который позволяет вам создавать свои собственные Компоненты, запускать игровые события, изменять свойства Компонентов с течением времени и реагировать на ввод данных пользователем любым удобным для вас способом. Подробнее
См. в Словарь
или в диалоговом окне "Сборка" для установки дополнительных аргументов:

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); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3