1、首先,UE提供的游戏保存的基本原理是序列化对象,通过构建一个SaveGame对象。
2、并把要保存的数据赋给该对象的成员属性,再把SaveGame对象序列化保存到磁盘上来实现该功能。
3、查看SaveGame类可以看到,他直接继承于UObject并且没有任何成员变量及函数。
4、所以,保存对象的细节不在于SaveGame对象,而在于UObject序列化里面的相关内容。所有保存与加载游戏的逻辑操作都在GamePlayStatics.cpp的SaveGame相关函数里面。
5、如果自己要实现自己的存档机制(完全可以不使用SaveGame对象),可以参考SaveGameToSlot等函数。