Unity特殊文件夹

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确保了这个属性在所有支持的平台上都能正常工作。