Вторая - я так подозреваю что тестируете на андроиде... Так вот там чтение из СтримингАссетов (или из другой точки скомпилированного приложения) делается не через File, а через UnityWebRequest
private void WriteDocument(string Path, string w){
StreamWriter sw;
sw = new StreamWriter(Path);
sw.WriteLine(w);
sw.Close();
}
private string ReadDocument(string Path){
string dataread = "";
if(File.Exists(Path)){
dataread = File.ReadAllText(Path);
}
return dataread;
}
Неужели экономия стоит этих потраченых усилий? Вся остальная игра готова на 100%?
Ну и о какой рефлексии и динамической типизации идёт речь в нашем случае я не понял
Unity действительно имеет проблемы с LINQ на iOS. Или по крайней мере имело такие проблемы.
Все дело в том, что скрипты в iOS компилируются в режиме AOT а не JIT. А в AOT не поддерживаются или поддерживаются не до конца такие вещи как рефлексия и динамическое создание кода. Например Expression.Compile() или System.Reflection.Emit.
И при этом LINQ испольузет рефлексию и Emit даже в LINQ2Object.
Эти проблемы фиксились в Unity, но я не уверен что все проблемы решены. По крайней мере нужно точно избегать тяжелего LINQ to SQL. Остальное - нужно пробовать.
Не слыхал о такой проблемы