unity在移动端加载资源的有两种方式
1.Resource.Load()
2.UnityWebRuquest.Get()
1的资源会打包在包体内,由引擎托管管理。权限是只读。
2有两种方式,一种是资源放在工程目录StreamingAssets,权限同样是只读,但是与Resources的区别是这个目录的资源管理可以自己灵活控制。打包的资源方式,资源管理可以自己定制。还有一种是放在游戏沙盒路径下。权限是可读可写。资源管理也可以灵活控制,还能做热更新。
这里我们着重说下android与ios两个平台下的资源路径。
先看下总结的路径写法,按平台宏区别
#if UNITY_EDITOR
filepath = Application.dataPath + "/StreamingAssets";
#elif UNITY_IOS || UNITY_IPHONE
filepath = "file://" + Application.streamingAssetsPath;
#elif UNITY_ANDROID
filepath = "jar:file://" + Application.dataPath + "!/assets";
#endif
ios上需要加“file://”,不然会报错:cannot connect to destination host,一般报引错误多为路径有问题。
android上最好用以上格式,Application.streamingAssetsPath可能在安卓上也会无法读取到文件。