我有下一个问题,我试图通过这样做从游戏对象制作一个预制件:
GameObject Res = GameObject.Find("Object");
UnityEditor.PrefabUtility.CreatePrefab("Assets/Temporary/Object.prefab", Res);
但是它让我想起了这个错误:
名称`UnityEditor'在当前上下文中不存在
我试图做的是当用户按下一个键时它会将对象保存为预制,所以我可以在游戏后期进行检索。
答案 0 :(得分:3)
UnityEditor
命名空间中的任何内容都不能在构建中使用。 PrefabUtility.CreatePrefab
来自UnityEditor
命名空间,因此只能 在编辑器中使用。这就是您在尝试构建项目时遇到错误的原因。
至于保存GameObjects,只保存需要保存的内容。重要的是,获取附加到GameObject的组件然后序列化并保存它们的值。您可以将其序列化为二进制,xml或json。如果你想把它保存为json,This会让你开始。