Assets
Assets 文件夹是包含 Unity 项目使用的资源的主文件夹。
Application.dataPath
Editor
编辑器脚本放在该文件夹中,在build构建时不会被打包到工程中。如果将编辑器脚本放在Editor文件夹之外的地方,在打包时会报错。
也可以使用宏定义#if UNITY_EDITOR和#endif,来包裹编辑器脚本代码
using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
public class HelloWorldEditor
{
//创建一个菜单
[MenuItem("MyTools/Create HelloWorld")]
private static void CreateHelloWorldGameObject()
{
bool yes = EditorUtility.DisplayDialog
("Hello World", "Do you really want to do this?", "Create", "Cancel");
if (yes)
{
new GameObject("HelloWorld");
}
}
}
#endif
Resources
主要用在快速开发游戏demo时使用。Resources文件夹下的资源会进行一次压缩,而且也会加密,不使用点特殊办法是拿不到原始资源的。
通过使用 Resources.Load函数即可加载这些资源。
img.sprite = Resources.Load<Sprite>("picture1");
Plugins
可为项目添加插件来扩展 Unity 的功能。插件是通常用 C/C++ 编写而成的DLL文件。这些插件可以访问第三方代码库、系统调用和其他 Unity 内置功能。请始终将插件放在名为 Plugins 的文件夹中,这样才能被 Unity 检测到。
streamingAssets
Application.streamingAssetsPath
StreamingAssets文件夹下面的所有资源不会被加密,是原封不动的打包到发布包中,这样很容易就拿到里面的文件。在打AssetBundle的时候建议自己做一次加密。
persistentDataPath
跨平台兼容性:在不同的操作系统和设备上有不同的路径,但Unity确保了这个属性在所有支持的平台上都能正常工作。