You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UE5.0.3中已构建CPP脚本/类不可见且重名创建报错的问题

解决Unreal Engine 5.0.3重启后C++类无法显示的问题

根据你描述的情况——重启UE后已构建的C++类消失,创建同名类报错,新建不同名类又能让所有类恢复显示,而且空Actor也有这个问题——这大概率是UE的编译缓存或类索引文件损坏导致的,和代码本身无关。下面是几个经过验证的修复步骤:

步骤1:彻底清理项目缓存与中间文件

这是最常见的解决方法,能解决绝大多数缓存相关的问题:

  • 先完全关闭UE编辑器和Visual Studio(如果打开着)
  • 找到你的项目目录,删除以下三个文件夹:
    • Binaries:存放编译后的二进制文件
    • Intermediate:编译过程中生成的中间文件
    • Saved:UE的配置和缓存文件
  • 右键点击项目的.uproject文件,选择Generate Visual Studio Project Files,重新生成项目文件
  • 再右键.uproject选择Build,重新编译整个项目
  • 最后打开UE编辑器,检查C++类是否正常显示

步骤2:验证项目编译配置与插件

有时候编译配置或插件异常也会导致类索引失败:

  • 打开Visual Studio,确保编译配置选择的是Development Editor(不要选Shipping或Debug,Debug模式下UE的类索引可能不稳定)
  • 打开UE编辑器后,进入Edit -> Plugins,搜索C++ Scripting相关插件,确保它们处于启用状态(默认是启用的,但可能被误关)
  • 检查项目设置:Edit -> Project Settings -> General Settings -> Project Targets,确认你的游戏Target(比如XXXGame)是正确配置的,没有被意外修改

步骤3:手动刷新UE类索引

如果清理缓存后还是有问题,可以尝试手动触发索引刷新:

  • 打开UE编辑器,点击顶部菜单的Tools -> Refresh Visual Studio Project,等待刷新完成
  • 或者尝试File -> Reload All Blueprints,强制同步蓝图和C++类的索引

为什么会出现这个问题?

UE在编译C类时会生成一系列索引文件(比如.uhtmanifest),用来在编辑器中识别和显示这些类。当这些文件因为异常关闭、磁盘写入错误等原因损坏时,重启编辑器就无法正确读取已有的C类信息。而新建不同名的C++类会触发UE重新生成整个索引,所以所有类又能正常显示了。

内容的提问来源于stack exchange,提问作者Rifat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:55:15