Unity基础学习(八)Unity中的特殊文件夹们

发布于:2025-05-24 ⋅ 阅读:(22) ⋅ 点赞:(0)

目录

一、工程路径

二、Resources 资源文件夹

三、StreamingAssets 流动资源文件夹

四、persistentDataPath文件夹

五、Plugins插件文件夹

六、Editor编辑器文件夹

七、默认资源文件夹 Standard Assets

八、Hidden Assets

九、Editor Default Resources

十、Gizmos 标注资源文件夹

十一、WebGLTemplates

十二、Tests 测试文件夹

总结啦总结啦 

补充说明表格:


一、工程路径

        即你创建的Unity工程所在的路径,可以这样得到

        Debug.Log(Application.dataPath);

注意 该方式 获取到的路径 一般情况下 只在编辑器模式下使用
我们不会在实际发布到游戏后 还使用该路径
游戏发布过后 该路径就不存在了

特性

编辑器模式下指向项目Assets文件夹的上级目录

打包后路径结构会改变(移动平台变为.apk/.ipa包内路径)

发布后不可写,仅用于读取初始资源

二、Resources 资源文件夹

路径获取:Debug.Log(Application.dataPath + "/Resources");

一般不获取
只能使用Resources相关的API进行加载
如果硬要获取 只能通过工程路径拼接
注意:
需要我们自己创建
作用:
资源文件夹
1-1需要通过Resources 相关的API动态加载的资源需要放在其中
1-2该文件夹下的所有文件都会被打包出去
1-3打包时Unity会对其压缩加密
1-4该文件夹打包后仅可读 只能通过Resources相关API加载

支持子文件夹Resources/SubFolder的多级嵌套
使用Resources.Load()加载时不需要文件扩展名
可通过Resources.LoadAll()批量加载
建议通过Resources.UnloadUnusedAssets()释放资源
过度使用会导致包体膨胀,建议仅存放必需资源

三、StreamingAssets 流动资源文件夹

路径获取
        Debug.Log(Application.streamingAssetsPath);

注意
必须手动创建
作用:
流文件夹
2-1打包出去不会被压缩加密 可以任由我们摆布
2-2
移动平台仅可读 PC端可读可写
2-3可以放入一些需要自定义动态加载的初始资源

四、persistentDataPath文件夹

  //路径获取
 Debug.Log(Application.persistentDataPath);


注意:
不需要手动创建
作用:
固定数据文件夹
3-1所有平台可读可写
3-2一般用于放置动态下载或者动态创建的文件,游戏中创建或者获取到的文件都放在其中

五、Plugins插件文件夹

路径获取 一般不获取
注意:
需要我们自己手动创建
作用
插件文件夹
不同平台的插件相关文件放在其中
比如ios和Android平台


六、Editor编辑器文件夹

路径获取

        Debug.Log(Application.dataPath + "/Editor");


一般不获取 因为不会改动他
如果硬要获取 只能拼接

注意:
需要我们自己手动创建
作用:
编辑器文件夹
6-1开发Unity编辑器时,编辑器相关的脚本放在该文件夹中
6-2该文件夹中内容不会被打包出去

七、默认资源文件夹 Standard Assets

路径一般不获取

注意:
需要我们自己手动创建
作用:默认的资源文件夹
一般Unity自带资源都会被放在这个文件夹下
代码和资源优先被编译

八、Hidden Assets

路径:任何以.开头的文件夹
特性

不会被Package Manager识别

常用于存放临时文件/测试资源

仍需手动管理避免资源冗余

九、Editor Default Resources

路径Assets/Editor Default Resources
作用

存放编辑器默认资源(图标、预设等)

通过EditorGUIUtility.Load()加载

示例:Texture2D icon = EditorGUIUtility.Load("Icons/PlayButton.png") as Texture2D;

十、Gizmos 标注资源文件夹

路径Assets/Gizmos
用途

存放场景视图的标注图标

通过Gizmos.DrawIcon()显示

支持自定义.png图标(需开启alpha通道)

十一、WebGLTemplates

路径Assets/WebGLTemplates
作用

自定义WebGL加载页面

包含index.html模板文件

可修改加载动画/背景样式


十二、Tests 测试文件夹

路径Assets/Tests
特性

存放单元测试脚本

使用Unity Test Framework

支持EditMode/PlayMode测试

总结啦总结啦 

文件夹名称 路径获取方式 是否手动创建 作用 注意事项 特性
工程路径 Application.dataPath(上级目录) 编辑器模式下工程根路径 发布后路径不可用 仅编辑器可用,发布后路径结构改变
Resources Application.dataPath + "/Resources" 动态加载资源 必须通过Resources.Load()加载 - 打包压缩加密
- 仅可读
- 所有资源强制打包
StreamingAssets Application.streamingAssetsPath 存放初始可读写资源 移动平台只读 - 不压缩加密
- PC端可写
- 跨平台路径差异大
persistentDataPath Application.persistentDataPath 持久化数据存储 所有平台可读写 - 用户数据存储核心位置
- 适合存档/下载内容
Plugins 不常用 存放平台原生插件 需按平台分类(如Plugins/Android - 不同平台独立编译
- 支持[DllImport]调用
Editor Application.dataPath + "/Editor" 存放编辑器脚本 不打包到最终产品 - 仅编辑器编译
- 可使用UNITY_EDITOR
Standard Assets 不常用 Unity标准资源库 逐步被Package替代 - 代码优先编译
- 包含基础着色器/脚本
Hidden Assets 任何以.开头的文件夹 隐藏临时/测试资源 需手动管理 - 资源管理器不可见
- 仍会被打包
Editor Default Resources Assets/Editor Default Resources 存放编辑器默认资源 必须通过EditorGUIUtility.Load()加载 - 专用加载API
- 存放编辑器图标/预设
Gizmos Assets/Gizmos 场景视图标注图标 需开启Alpha通道 - 通过Gizmos.DrawIcon()显示
- 支持自定义调试工具
WebGLTemplates Assets/WebGLTemplates 自定义WebGL加载页面 需要index.html模板 - 修改加载动画/背景
- 支持自定义HTML/CSS
Tests Assets/Tests 单元测试脚本 需安装Test Framework - 支持EditMode/PlayMode测试
- 生成测试报告

补充说明表格:

关键区别 Resources StreamingAssets persistentDataPath
可写性 只读 PC可写,移动端只读 全平台可写
压缩加密 ✔️
典型用途 必须立即加载的资源 初始AB包/视频 用户数据/下载内容
加载方式 Resources.Load() UnityWebRequest/File.ReadAllBytes() File.ReadAllText()
打包体积影响 强制包含所有资源 按需使用 动态生成不影响包体

 


网站公告

今日签到

点亮在社区的每一天
去签到