Table of Contents

Unity 特殊目录


Unity的Assets目录中有些特殊目录,这些目录靠命名区分,例如命名为Resources的文件夹默认就是打包内容,也可以使用对应的API在代码中直接加载Resources目录中的资源。

Resources

加载这里面的资源很方便,简单粗暴,很适合在测试工程里面用,但是正式工程不建议使用。

其实底层也是通过Bundle实现的。

不方便管理;性能待验证。

[待验证]Resources底层也是Bundle,会被打包成resources.assetbundle?

[问题]Resources文件夹下面有同名的文件呢?会如何加载?

Editor

这个文件夹里面的代码在打包的时候会被忽略。

有些库(比如UnityEditor里面的工具),被打包的代码都是不能用的(目标机器上又没有这些编辑器的库),可以放在这个文件夹里面。

#if UNITY_EDITOR
// 这个宏里面的代码,在打包的时候也会被忽略
#endif

StreamingAssets

在游戏打包安装好之后,这个文件夹里面的内容会原封不动地解压到安装的机器上,明文访问。

Unity 会将放置在 Unity 项目中名为 StreamingAssets(区分大小写)的文件夹中的所有文件逐字复制到目标计算机上的特定文件夹。要获取此文件夹,请使用 Application.streamingAssetsPath 属性。在任何情况下,最好使用 Application.streamingAssetsPath 来获取 StreamingAssets 文件夹的位置,因为它总是指向运行应用程序的平台上的正确位置。