虚幻引擎5 - 退出编辑器后C++类消失

9
每当我退出虚幻引擎5编辑器时,我会发现当我再次打开它时,我的各种C ++类都消失了。
幸运的是,我只需要重新编译一下就能把它们添加回来。然而,这确实会成为一个严重的不便,因为我必须重新将其附加到其组件的任何actor上,并且我必须重新做我所做的任何详细面板编辑。
假设我正在尝试制作一系列移动平台来进行跑酷游戏,那么我会创建一个名为PlatformMover的ActorComponent。我将其附加到具有自己速度和方向的不同平台上。然后我退出编辑器,第二天重新打开它时,PlatformMover已经消失了。之后,我重新编译我的项目,PlatformMover又回来了,但是我现在必须重新附加它并为每个平台重新配置它。
这真的很不方便,那么是否有任何解决方法?

这听起来真的非常不方便。论坛上已经有多个类似问题的报告了,其中之一是模块描述意外删除引起的。Reddit 上也有关于类消失的讨论。 - blurryroots
谢谢你的建议!从你发的论坛中,"关闭编辑器,然后从IDE清理、重建"的建议解决了问题。不幸的是,这只是解决了问题,我还没有找到任何可以防止这种情况发生的方法。我已经尝试重新创建这个问题,但它仍然存在。当然,现在好多了。我现在只需要偶尔在我的IDE中执行这个例程,但我有点想念只需放心地关闭我的编辑器的便利性。 - jovandl
很高兴听到这让事情稍微好了一些。虽然每次重建项目仍然听起来很痛苦。我建议也检查一下引擎的最新版本。也许这是一个已知问题,在最近的发布中已经修复了。 - blurryroots
1
没问题@blurryroots,我实际上已经找到了一个解决方案,并在帖子中写下了。我的一个巨大错误基本上是在IDE中使用了错误的构建任务。 - jovandl
2个回答

12

我发现这是一个与live coding相关的常见错误。幸运的是,我参加的虚幻引擎课程实际上在课程目录中有一个视频处理这个问题,并且我可以报告提供的解决方案对我有效。

  1. 立即关闭编辑器,但保留IDE开启。
  2. 使用 [项目名称]Editor Win64 Development Build 编译代码。 (最后一个“Editor”部分需要特别强调。我一开始认为此方法无效,直到意识到我实际上正在使用的是 “[Project Name] Win64” 而不是 “[ProjectName]Editor Win64”)
  3. 重新打开项目。

在我电脑上使用Unreal 5.0.2时工作正常。 - ANimator120
在我的情况下,我只需要从IDE(我使用的是Rider)中至少构建一次。我一直在使用实时重新加载进行编码,并且仅使用Unreal Editor的编译按钮构建了项目并关闭了编辑器。 - JeffSpicoli

0
我在其他5.x版本中也遇到了同样的问题,通常在菜单“编辑/编辑器首选项”中搜索“启动时强制编译”并启用它可以解决问题。这将在项目启动时强制进行自动编译。
这对我使用过的所有IDE(VS、Rider、VS Code)都有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接