Android平台下的StreamingAsset路径
这两天给一个游戏做移植的时候,踩了一个巨大的坑(准确的说是被源码坑了):Android平台下不要通过FILE访问StreamAsset! 游戏刷不出小怪,找了两三天才发现是小怪的配置文件没加载成功。
首先,Unity下常用的路径大概有四个:
dataPath
persistentDataPath
streamingAssetsPath
temporaryCachePath
具体在各个操作系统下对应的路径大家可以具体到unity文档中查。
首先,这四个路径全部为只读,意思是其内容不会因为游戏更新而改变,因此常用于存放持久数据。比如玩家的游戏存档就可以放在persistentDataPath下(单机游戏)。
对于StreamingAssetPath,无法用C#的File方式在WebGL和Android平台下访问此文件夹。如果想在这两个平台下访问,应当使用UnityWebRequest类(或使用WWW类,但UnityWebRequest正是unity平台下WWW类的升级版,因此建议使用UnityWebRequest)。
使用方法如下:
#if UNITY_ANDROID
UnityWebRequest webRequest = UnityWebRequest.Get(filePath);
webRequest.SendWebRequest();
if (webRequest.error == null)
{
while (!webRequest.downloadHandler.isDone){}
x = webRequest.downloadHandler.tex