Contents

Unity中的特殊文件夹及脚本编译顺序

特殊文件夹

  • Standard Assets–存放Unity的标准资产。(只能放在Assets根目录下,有且仅有一个)
  • Pro Standard Assets–存放Unity的专业级标准资产。(只能放在Assets根目录下,有且仅有一个)
  • ActionScript–存放Flash的ActionScript脚本。当游戏被导出为Flash格式时,这里的脚本会自动替换指定的C#脚本。
  • Plugins–存放插件。该文件夹有很多用途,须详细了解可以参考官方文档。(只能放在Assets根目录下,有且仅有一个)
    • Plugins/Android–存放Android插件,包括 .jar 或XML文件等。
    • Plugins/iOS–存放iOS插件,包括 .a 或 .m、.mm文件等。
  • Editor–存放编辑器脚本。该文件夹里的所有资源文件或脚本文件都不会被打包进发布包中,并且脚本也只能在编辑器中使用。(可以放在Assets根目录下,也可以放在其它子目录里,数量不限)
  • Editor Default Resources–存放编辑器用到的资源,如图片、文本文件等。它里面的资源不会被打包进发布包中,我们可以通过EditorGUIUtility.Load方法读取该文件夹下的资源。(只能放在Assets根目录下,有且仅有一个)
  • Resources–存放需要动态读取的资源。该文件夹下的资源不管你用不用,它都会被打包进发布包中。在打包前可以用AssetDatabase.MoveAsset方法把不必要的资源从文件夹中移出去;打完包后再把移出去的资源移回来。(可以放在Assets根目录下,也可以放在其它子目录里,数量不限)
  • Gizmos–通常是存放TIF格式的图片,在OnDrawGizmos方法内使用Gizmos.DrawIcon将其画为图标在场景中显示。(只能放在Assets根目录下,有且仅有一个)
  • WebPlayerTemplates–存放网页模板,其中每个模板均以一个自定义名称的子目录形式存放。如果WebPlayerTemplates文件夹在Assets根目录下,那么它里面的所有脚本都不会被编译。否则,WebPlayerTemplates文件夹存在于其它子目录中,那它里面的所有脚本都会被编译。
  • StreamingAssets–存放媒体文件,如视频等。该文件夹下的资源会打包进发布包,它和Resources文件夹的区别是:Resources文件夹下的资源在打包时会被压缩,但StreamingAssets文件夹下的资源不会被压缩,而是原封不动的打包进发布包中。另外需要注意:此路径在PC/Mac电脑上可对文件实施“增删改查”等操作(在Windows8系统上进行增删等写入操作时报路径不允许访问),但在移动端只支持读取操作。(只能放在Assets根目录下,有且仅有一个)

脚本编译顺序

阶段 1:Standard AssetsPro Standard AssetsPlugins 文件夹里的运行时脚本被编译。

阶段 2:Standard Assets/EditorPro Standard Assets/EditorPlugins/Editor 文件夹里的编辑器脚本被编译。

阶段 3:所有不在Editor文件夹中的脚本被编译。

阶段 4:剩下的脚本(即在Editor文件夹中的脚本)被编译。