问题一:UE4&5 C++类创建后编辑器不显示
【问题描述】:C++类创建后,在电脑资源管理器中显示存在.h和.cpp文件,VS正常打开其.h和.cpp文件,实时编译也不报错,但是在UE编辑器中C++类文件夹下不见踪影。
【原因】C++类文件路径错误,属于C1083错误的变种。C++类只能存放在源文件夹下项目同名文件夹下的Private和Public文件夹内,C++类创建时需要勾选是公共或私有,公共的C++类的.h文件会放在Public文件夹内,.cpp文件会放在Private文件夹内;私有的C++类的.h和.cpp都会被放在Private文件夹内。
【解决方案】创建C++类的时候点选上面的公共或私有,查看.h和.cpp文件保存路径是否在源文件夹下的项目同名文件夹内的Private和Public文件夹内。
【特别注意】选择创建C++空类的时候无论是否点选公共与私有都不会被UE编辑器识别显示。这是因为需要在空类中定义受UE支持的类的类型才可以被识别。简单来说就是空类不是类。
问题二:UE4&5 C++类创建后重启项目C++类也不显示并且其蓝图子类丢失父类
【问题描述】通过正常方式创建C++类会正常显示在UE编辑器中,但关闭项目重启之后
,C++类依然不显示,而且基于C++类的蓝图子类也会提示丢失父类。
C++不显示Private和Public文件夹内,其蓝图子类也显示不正常
【原因】这是因为实时编译的保护。
【解决方案】
方案一:关闭实时编译,启用热重载与VS生成。(个人不建议)
方案二:打开项目用Ctrl+alt+F11运行一次实时编译。这样c++类就出来了,然后蓝图子类也就会显示c++父类了。(注意打开项目后不可以先打开蓝图子类,不然运行一次实时编译之后蓝图还是会提示无父类)(太麻烦估计你也不想用。)
开启项目后运行实时编译
方案三:去编辑器偏好设置里左侧加载和保存中勾选上启动时强制编译。