Unity 从StreamingAssets文件夹和PersistentData文件夹 保存读取AssetBundle资源 路径详解...

 

 

项目中的资源一般我们打包成AssetBundle格式

方便我们加载热更

 

AssetBundle文件 一般保存在StreamingAssets文件夹PersistentData文件夹

 

首先我们看这两个文件夹有什么区别

StreamingAssets
可读取、不可写入

工程Assets根目录下StreamingAssets文件夹
文件夹内容不压缩打包到apk、ipa包内

 

PersistentData
可读取、可写入
沙盒目录,应用程序安装运行后才会出现

 

综合上面的区别我们可以总结

*StreamingAssets   不能写入  随包发包   适合存放一些初始化的AssetBundle资源 如 登入页 加载页等

*PersistentData   适合存放 运行程序下载的AssetBundle资源

 

 

 

 

 

然后我们看下这两个文件夹在 各平台 运行时 打印的 路径地址

 

StreamingAssets 
WindowsEditorC:/Users/zq/Desktop/Test/Assets/StreamingAssets(工程目录/Assets/StreamingAssets)
OSXEditor/Users/zouqiang/Desktop/Test/Assets/StreamingAssets(工程目录/Assets/StreamingAssets)
Androidjar:file:///data/app/com.Company.Test-1.apk!/assets(安装目录/assets)
IPhonePlayer/var/containers/Bundle/Application/5C9D81B5-2A21-45BC-B6DC-12B704976D22/Test.app/Data/Raw

 

PersistentData 
WindowsEditorC:/Users/zq/AppData/LocalLow/DefaultCompany/Test
OSXEditor/Users/zouqiang/Library/Application Support/DefaultCompany/Test
Android/storage/emulated/0/Android/data/com.Company.Test/files
IPhonePlayer/var/mobile/Containers/Data/Application/F96BACED-63D5-45AE-B2A7-738A87545A8F/Documents

 

 

 

 

StreamingAssets  各工程路径(资源更新可直接替换对应的文件  实现快速打包或测试)

UnityC:\Users\zq\Desktop\Test\Assets\StreamingAssets
EclipseC:\Users\zq\Desktop\eclipse\Test\assets
XcodeC:\Users\zq\Desktop\eclipse\Test\assets

 

 

 

 

 

 

在使用
AssetBundle.LoadFromFile  同步加载
AssetBundle.LoadFromFileAsync  异步加载
StreamingAssets文件夹里面的AssetBundle
要注意

Android  获得去方式为  Application.dataPath + "!assets"

其他平台   获取的方式为 Application.streamingAssetsPath

 

 

使用
WWW 异步加载
加载StreamingAssets文件夹里面的AssetBundle
要注意

Android  获得去方式为  Application.streamingAssetsPath

其他平台   获取的方式为 "file://" + Application.streamingAssetsPath

 

 

 

 

PersistentData文件夹 获取的方式都为  Application.persistentDataPath

 

转载于:https://www.cnblogs.com/zouqiang/p/9053426.html

UnityUnity中的StreamingAssets文件夹 StreamingAssets 文件夹Unity项目中的一个特殊目录,用于存放需要在运行时访问的资源文件。这个文件夹中的文件会被逐字复制到目标平台的特定位置,并且保持原始格式,不会被引擎进行压缩或编译。 阅读详情

相关推荐

[Unity][Android][安卓]安卓模拟在streamingAssetsPath文件路径读取AssetBundle

创建AssetBundleAssetBundle包存放在StreamingAssets文件夹内 打包好的AB放在Unity编辑器的StreamingAssets里面 注意,在安卓 上使用的AB包代码,必须 得是 ... BuildPipeline.BuildAssetBundles(dir, BuildAssetBundleOptions.None, //BuildTarget.StandaloneWindows64 BuildTarget...

BuladeMian的博客,菜得抠脚,菜得真实 3109

Unity3D小技巧】Unity3D中打包WEBGL后读取本地文件数据

有粉丝问我,怎么在打包后WEBGL读取本地文件数据呢?//文件流形式读取文档 using(FileStream fs = File . OpenRead(path)) {} } }运行后也没有问题:然后打包WEBGL:报错:无法找到路径,其实不是路径的问题,而是WEBGL不支持IO接下来,就来说一下WEBGL读取本地文件的方法吧。

CSDN博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1万+

Unity StreamingAssetsPersistentData文件夹

项目中打AssetBundle一般会根这两个文件夹挂勾。 对比分析: StreamingAssets:可读取、不可写入;Assets根目录下的StreamingAssets文件夹文件夹内容不压缩打包到apk、ipa包内。 PersistentData:可读取、可写入;沙盒目录,应用程序安装运行后才会出现。 所以由上可以看出,Stre...

鱼儿往上游的博客 2170

unity StreamingAssets

StreamingAssets: 要说到StreamingAssets,其实Resources还是蛮像的。同样作为一个只读的Unity3D的保留文件夹出现。不过两者也有很大的区别,那就是Resources文件夹中的内容在打包时会被压缩加密。而StreamingAsset文件夹中的内容则会原封不动的打入包中,因此StreamingAssets主要用来存放一些二进制文件。下面也同样做一个简单的总结...

weixin_41798071的博客 8394

详解Unity中的StreamingAssets文件夹

前言 官方文档:https://docs.unity3d.com/Manual/StreamingAssets.html 这是一个只读、不可写的目录。 官方推荐使用Application.streamingAssetsPath来获得该文件夹的实际位置,其可以规避平台差异。 对于ios平台,其等价于:Application.dataPath + "/Raw"; 对于android平台,其等价于:"j.........

iningwei的博客 6万+

Unity AssetBundle加载性能优化:WWW、UnityWebRequest与LoadFromFile对比

Unity游戏开发中,资源管理是影响应用性能与用户体验的关键环节。AssetBundle作为主流的资源打包与动态加载方案,其加载方式的选择直接决定了内存占用、加载速度与主线程流畅度。从技术原理层面,不同的加载API在数据读取路径、线程模型与内存管理机制上存在本质差异。WWW采用同步主线程解压,易引发卡顿;UnityWebRequest引入后台解码线程,显著降低主线程阻塞;而LoadFromFile则利用内存映射实现近乎零拷贝的加载,性能最优。理解这些底层机制,有助于开发者在移动端热更新、大型场景切换等高频

weixin_30888413的博客 483

Unity项目YooAsset缓存自动化清理方案:提升开发效率与磁盘管理

Unity游戏开发中,资源管理与构建优化是提升团队协作效率的关键环节。AssetBundle作为资源分发与热更新的核心技术,其构建过程会产生大量缓存文件以实现增量构建与数据复用。这些缓存虽能加速开发流程,但长期积累会占用海量磁盘空间,拖慢文件索引,甚至引发构建错误。通过设计自动化清理工具,开发者可以安全高效地管理YooAsset框架生成的构建缓存与模拟运行缓存,保障开发环境健康。该方案不仅提供了可视化编辑器工具与可配置选项,还支持命令行接口以便集成到CI/CD流水线,实现了从概念到工程实践的完整闭环,有效

weixin_33898233的博客 328

Unity跨平台加载外部图片:权限、CORS与性能优化全解析

在移动应用与WebGL开发中,资源动态加载是核心需求,其背后涉及复杂的平台权限与安全机制。从原理上讲,Android系统通过作用域存储(Scoped Storage)限制应用对共享文件的直接访问,iOS则强制ATS安全策略要求HTTPS连接,而WebGL受浏览器同源策略约束,需处理CORS跨域问题。这些机制旨在保障用户隐私与数据安全,却给开发者带来了兼容性挑战。技术价值在于,通过统一封装加载逻辑、运行时权限申请及MediaStore API等方案,可构建稳定高效的资源管理系统。应用场景广泛覆盖社交应用头像、

weixin_34129696的博客 360

Unity中的StreamingAssets— AB包打包方法及AB包加载

UnityStreamingAssets的使用,AB包的手动打包自动打包,AB包的加载使用

the_vnas的博客 6135

Unity 资源管理之StreamingAssets

Unity 资源管理之StreamingAssets

不在同一频道上的呆子的博客 2805

UnityStreamingAssetsPersistentData文件夹

StreamingAssets(区分大小写)的文件夹中的所有文件逐字复制到目标计算机上的特定文件夹StreamingAssets :不能写入,随包发包,适合存放一些初始化的AssetBundle资源PersistentData :适合存放、运行程序下载的AssetBundle资源

一路向北 1996

unity android streamasset file

(1) baidu unity android streamasset file (2) unity使用文件流操作streamingassets下的文件 https://www.cnblogs.com/vsirWaiter/p/7941171.html 背景: 1、Unity第一次启动时将streamingassets下的首包资源拷贝到persistentDataPath目录下。...

kuangben2000的博客 2398

Unity-数据持久化-PlayerPrefs

数据持久化就是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。简单来说:就是将游戏数据存储到硬盘,将硬盘中数据读取游戏中,也就是传统意义上的存盘。是Unity提供的可以用于存储读取玩家数据的公共类。

weixin_53163894的博客 816

Unity打包/读取AssetBundle资源全教程

Unity打包/读取AssetBundle资源全教程 Unity 资源AssetBundle打包 助力快速完成资源进行 AssetBundle 打包与读取,为新手节省宝贵的时间,避免采坑 那就是最主要的热更新了 注意-命名规范: 写一个编辑器脚本,菜单栏中添加一个按钮,用来完成 AssetBundle 打包操作 为了规范,要创建一个 Editor文件夹,将脚本放在目录中 点击按钮会在工程文件内, Assets 文件外,自动创建一个名为 ChinarAssetBundles 的文件夹

ChinarCSDN的博客 1万+

unity文件操作路径StreamingAssets文件夹

StreamingAssets,在不同的平台上面 (Windows, Ios ,Android),该目录最终发布的位置不同,所以读取的方法也不同。 WWW是异步加载所以执行加载命令式不能直接执行读取解析操作,要等待 WWW www = new WWW(filePath); yield return www; // while (!www.isDone) {} result = www.text; Android之所以不支持C# IO流 方式读取StreamingAssets下的文件,是因为Android手

weixin_42565127的博客 1万+

Unity资源路径读取

Unity资源路径读取

不在同一频道上的呆子的博客 2447

Unity Asset Bundle学习 - 加载本地资源

此过程将会获取带有 AssetBundle 名称标签的所有资源,并将它们放在。代码是这样的 直接拷贝示例代码 改了一下加载的名字 因为我生成的文件结构不知道用哪一个 就全试了一遍。的菜单项,该菜单项将执行与该标签关联的函数中的代码。于是就去查了一下 AssetBundle.LoadFromFile方法的详细信息。assetBundleDirectory 定义的路径中的文件夹中。还是官方示例 我的是一张图片 就用图片名进行加载的。这时候 我试了一下把原图片删除 还是可以正常加载的。

風情 930

Unity Webgl打包发布后,读取配置表文件

读者可以自行debug.log自己的路径试试看看是什么样的,根据gpt的说法是旧版的windows访问路径是这样的,不过现在unity都是单斜杆"/",这样子的,既然是自身的路径访问问题那么我就换了另一种思路,通过修改webgl打包的html文件unity做交互,但是使用dllimport会出现什么不支持的问题,既然通用的两种方式都行不通,那么项目就摆烂吧。记住配置文件一定要你的应用程序放一起发布,如果分开发布是行不通的切记。把你存放配置文件的位置放在你iis部署的应用程序同级目录中。

qq_52746379的博客 751

Unity发布WebGL之后读取StreamingAssets文件路径数据

Unity打包WebGL之后保留了StreamingAssets文件夹,但是使用Application.streamingAssetsPath是无法读取StreamingAssets文件路径的。为了能正确读取到本地StreamingAssets文件的数据,我们需要使用到UnityWebRequest类。 UnityWebRequest 由三个元素组成 UploadHandler 处理数据...

梦丶初寒 1万+
上一篇: 关于Java 软件工程师应该知道或掌握的技术栈
下一篇: oracle中case when使用
weixin_30690833
博客等级 码龄11年 101粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值