适用场景
适用于存档、玩家进度、配置等结构化数据的存储,支持跨平台(Windows、Android、iOS等)。
特点
-
数据自动序列化为二进制文件,路径由引擎管理(如Windows的
Saved/SaveGames/
)。 -
支持复杂数据类型(需标记为
UPROPERTY
)。
实现步骤
-
MySaveGame.h
#pragma once
#include "CoreMinimal.h"
#include "SaveGame.h"
#include "UserDataStruct.h"
#include "MySaveGame.generated.h"
UCLASS()
class YOURPROJECT_API UMySaveGame : public USaveGame
{
GENERATED_BODY()
public:
UPROPERTY(VisibleAnywhere, Category = "SaveData")
FUserData UserData;
};
-
MySaveGame.cpp
#include "MySaveGame.h"
-
UserDataStruct.h
#pragma once
#include "CoreMinimal.h"
#include "UObject/StructOnScope.h"
#include "UserDataStruct.generated.h"
USTRUCT(BlueprintType)
struct FUserData
{
GENERATED_BODY()
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "UserData")
FString UserName;
UPROPERTY(BlueprintRea