为什么 Unity 在构建中包含编辑器目录

De *_*ime 2 build unity-game-engine

当我尝试构建游戏时,Unity 会包含我的编辑器目录中包含的脚本。这意味着构建失败,因为Unity.Editor在构建期间无法访问。我使用的是Unity 2020.1.6f1,我该如何解决这个问题?

这是我在构建过程中遇到的错误类型:

Assets\Scripts\Editor\EnemyLootEditor.cs(7,32):错误 CS0246:找不到类型或命名空间名称“Editor”(您是否缺少 using 指令或程序集引用?)

当游戏在编辑器模式下启动时,不会出现这些错误。

这是我的Scripts文件夹的图片,其中包含我的所有代码文件,包括我的编辑器文件:

1

Lot*_*tan 7

正如@Thomas所说,是的,您必须检查您的编辑器文件是否存储在编辑器目录中,并在使用它们时使用编译器指令。

但这个问题似乎与程序集定义文件更相关,请检查此相关链接

您正在使用程序集定义文件吗?他们不尊重编辑器文件夹。您需要添加编辑器asmdefs。

总而言之,如果您的项目中有一个 .asmdef 文件,并且您正在使用编辑器脚本,那么您还需要为您的编辑器脚本创建一个.asmdef 文件。

  • 谢谢,现在工作正常了!因此,简而言之,我必须在 **Editor** 文件夹中创建一个新的 *程序集定义* 文件:*EditorAssembly* 文件。然后,我将 *GameAssembly* 文件添加到 *EditorAssembly* 的引用中,最后,我向其中添加了 *UNITY_EDITOR* 约束。 (2认同)