首先,在代码中动态加载的素材,引擎是无法检测到依赖关系的,所以这种素材肯定要自己手动管理。但是这样考虑:需要清理没有用到的素材是因为我们导入了整个素材包,但是整包导入的素材我们一般不会在代码中引用,我们会在代码中引用的一般就是我们自己创建的素材,清晰地知道这些素材放在了哪里,我们的习惯就是放在0_Main里面,0_Main里面都是我们自己按照需求创建或者导入的资源,所以0_Main这个文件夹肯定不会清理,所以代码引用0_Main下面的素材肯定是安全的。
具体步骤:
创建一个和原本项目名称完全相同的空项目,当然版本之类的也要完全相同,名称要完全相同是因为,项目名称是会影响到代码的内容的。
清理新创建的空项目,删除引擎的生成文件,将旧项目的所有代码(Source文件夹)完全复制到新工程,新工程原本应该是没有任何代码的。
重新生成VS工程文件,编译,这样代码就完成了迁移,这时打开新项目应该就能看到我们创建的类了。
打开旧项目,将0_Main文件夹(我们直接需要的内容)右键迁移到新的项目的Content文件夹中,等待复制完成。
打开新项目,设置一些不会迁移的内容,比如GameInstance,按键映射,鼠标指针等等,之后应该调试一下应该就没问题了。
为什么要先迁移代码?因为蓝图是依赖代码的,如果先迁移Content中的内容,蓝图会找不到父类。