UE4项目迁移后改变路径热重载失败的问题探究

最近做项目,一直有一个问题困扰着我,那就是虚幻引擎4报错,创建新的c++类的时候报出日志内容为:已经成功添加了类,但是要重新编译模块才能出现 ,自动热重载失败。
这个问题困扰了我大概一个月之久,虽然期间我一直也在做别的事,但是却一直没有想到好的解决方法。
UE4项目迁移后改变路径热重载失败的问题探究
直到今天,我才找到了一个大概能解决问题的方法。
1.我尝试创建工程项目的时候在路径中添加中文文件夹,结果得到了如下的报错信息:
UE4项目迁移后改变路径热重载失败的问题探究
根本无法创建项目。
2.我尝试把项目名称中添加了中文,得到如下的报错:
UE4项目迁移后改变路径热重载失败的问题探究
无法编译。
所以我感觉是IDE不识别中文导致的这些错误。
所以我结合改变路径后出现的问题做了以下的尝试:
3.我把项目进行了迁移
(1)迁移到一个无中文文件夹D:\Tues下,打开项目之后,我之前添加的一个MyActor的类,因为无法找到原先的路径而无法使用,但是VS会自动帮忙创建一个新的出来,如下图:
UE4项目迁移后改变路径热重载失败的问题探究
UE4项目迁移后改变路径热重载失败的问题探究

(2)迁移到另一个文件夹下:D:\周二
可以打开项目,但是打开我之前创建的MyActor类之后,出现的结果却是:
UE4项目迁移后改变路径热重载失败的问题探究

完全找不到之前的代码,编辑器也不会重新创建。
此时再创建新的类:
UE4项目迁移后改变路径热重载失败的问题探究
热重载失败,要重新编译。
4.带着好奇心我又做了一个尝试,我创建基于蓝图系统的工程,不再使用IDE编译器。
4.1 路径中带有中文
UE4项目迁移后改变路径热重载失败的问题探究
完全不影响工程。
4.2 名字使用中文
UE4项目迁移后改变路径热重载失败的问题探究
完全没有影响。
4.3项目迁移至D:\周二\new1
完全没有影响。

综上,关于热重载失败问题,其实完全是由IDE造成的。VS与unreal editor毕竟不是一个软件,他们之间的连接可能会随着版本和路径的改变而发生不愉快。所以迁移路径出现中文之后,会出现问题。
而且如果类中的代码发生错误,也会出现热重载失败的结果,这就造成了编译问题。
所以,如果使用unreal引擎时候,需要vs参与进来,千万要注意,禁止一切中文,禁止一切中文,禁止一切中文!!!!