Загрузка других ресурсов, кроме скомпилированного кода, возможна с помощью методов класса AssetBundle: https://docs.unity3d.com/ScriptReference/AssetBundle.html
Теперь о возможностях исправления кода на мобильных устройствах:
На перекомпиляции во время выполнения iOS, изменение собственного кода или испускание кода (например, Reflection.Emit) запрещено, фактически ядро не позволяет этого.Поэтому попытка использовать такие вещи, как функция C # компилятор как услуга, не будет работать.Вероятно, это причина того, что PATCH не поддерживается на мобильных платформах.
С другой стороны, возможно использование intepreter (например, Moonsharp), но для этого потребуется несколько крепких орешков:
Выполнение интерпретатора в главном потоке в Unity сильно замедлит его.Я сам провел пару тестов производительности, и MoonSharp по крайней мере в 100 раз медленнее, чем нативные вызовы в IL2CPP, и производит приличное количество garbadge, которое gc придется время от времени чистить.Это может быть все еще хорошо, если вы не планируете делать высокоскоростной FPS и делать самую важную логику родной.Вы должны будете выбрать, что это за логика или как распараллелить выполнение вашего скрипта.
Чем больше возможностей вы дадите сценариям, выставляя внутренние типы, тем больше будут риски для безопасности,Особенно в отношении ввода / вывода.Вы уверены, что хотите взять на себя ответственность за то, что кто-то похитил интерпретатор lua в вашем приложении?
Конфликт попыток ускорить выполнение ваших скриптов с использованием нескольких ядер и Unity не является нитью-безопасность также может быть одной из тех вещей.Очередь действий или шаблон прерывателя (https://github.com/disruptor-net/Disruptor-net) может помочь вам с перенаправлением команд в основной поток.
Больше вещей, о которых я не могу думать сейчас, ноэто определенно есть.
По моему мнению, темы, с которыми вам придется иметь дело, могут стать очень интенсивными и / или разочаровывающими, но это вполне возможно сделать. Если вы хотите научитьсянесколько вещей в пути и без какого-либо давления, это может быть приемлемым выбором. Если вам нужно быть продуктивным, я настоятельно советую вам не использовать переводчика.