C# 如何从Unity中的游戏对象创建预设?

C# 如何从Unity中的游戏对象创建预设?,c#,unity3d,C#,Unity3d,我有下一个问题,我正试图通过这样做从一个游戏对象预制: GameObject Res = GameObject.Find("Object"); UnityEditor.PrefabUtility.CreatePrefab("Assets/Temporary/Object.prefab", Res); 但这让我犯了一个错误: 当前上下文中不存在名称“UnityEdit” 我试图做的是,当用户按下一个键时,它会将对象保存为预置对象,这样我可以在游戏中稍后检索它。任何来自UnityEditor命名空

我有下一个问题,我正试图通过这样做从一个游戏对象预制:

GameObject Res = GameObject.Find("Object");
UnityEditor.PrefabUtility.CreatePrefab("Assets/Temporary/Object.prefab", Res);
但这让我犯了一个错误:

当前上下文中不存在名称“UnityEdit”


我试图做的是,当用户按下一个键时,它会将对象保存为预置对象,这样我可以在游戏中稍后检索它。

任何来自
UnityEditor
命名空间的内容都不能用于构建
prefableUtility.createprefable
来自
UnityEditor
命名空间,因此只能在编辑器中使用。这就是为什么您在尝试构建项目时会出现错误


至于保存游戏对象,只保存需要保存的内容。重要的是,将组件连接到游戏对象,然后序列化并保存它们的值。您可以将其序列化为二进制、xml或json。如果要将其另存为json,则将启动该操作。

生成中不能使用
UnityEditor
命名空间中的任何内容
prefableUtility.createprefable
来自
UnityEditor
命名空间,因此只能在编辑器中使用。这就是为什么您在尝试构建项目时会出现错误

至于保存游戏对象,只保存需要保存的内容。重要的是,将组件连接到游戏对象,然后序列化并保存它们的值。您可以将其序列化为二进制、xml或json。如果您想将其另存为json,将启动