You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UNREAL如何在本地设备中永久存储玩家的游戏进度数据?

Unreal Engine本地永久存储游戏数据实现方案

首选方案:UE原生SaveGame系统

这是UE官方提供的轻量级本地存档方案,无需引入第三方依赖,适合新手快速实现需求。

步骤1:创建自定义SaveGame类

  • 在内容浏览器右键,选择蓝图类,搜索SaveGame作为父类,将新建的类命名为MySaveGame
  • 打开MySaveGame蓝图,新增两个可编辑的整数变量:
    • PlayerCurrency:存储玩家累计游戏内货币数量
    • CompletedLevelCount:存储玩家已完成的关卡数量

步骤2:编写数据存储逻辑

在玩家获得货币、完成关卡等需要更新存档的节点调用存储逻辑即可:

蓝图实现:

  1. 调用Create Save Game Object节点,选择你创建的MySaveGame类作为目标类
  2. 给返回的SaveGame实例的PlayerCurrency、CompletedLevelCount变量赋值为当前游戏内的最新数值
  3. 调用Save Game to Slot节点,自定义存储槽名称(比如PlayerLocalData),用户索引保持默认0即可,节点返回的布尔值可判断是否存储成功

C++实现:
首先引入必要头文件:

#include "SaveGame/MySaveGame.h"
#include "Kismet/GameplayStatics.h"

存储逻辑代码:

UMySaveGame* SaveInstance = Cast<UMySaveGame>(UGameplayStatics::CreateSaveGameObject(UMySaveGame::StaticClass()));
if (IsValid(SaveInstance))
{
    // 赋值最新的游戏数据
    SaveInstance->PlayerCurrency = CurrentPlayerCurrency;
    SaveInstance->CompletedLevelCount = CurrentCompletedLevelNum;
    // 写入本地存储
    bool bSaveSuccess = UGameplayStatics::SaveGameToSlot(SaveInstance, TEXT("PlayerLocalData"), 0);
}

步骤3:编写数据读取逻辑

建议在游戏启动、主菜单加载等节点调用读取逻辑,初始化游戏内变量:

蓝图实现:

  1. 调用Load Game from Slot节点,填写之前定义的存储槽名PlayerLocalData,用户索引0
  2. 将返回的通用对象转换为MySaveGame类型,转换成功即可读取两个变量的数值,赋值给游戏内对应的全局变量
  3. 如果读取失败(一般是玩家首次启动游戏还未生成存档),直接将两个变量初始化为0即可

C++实现:

UMySaveGame* LoadedInstance = Cast<UMySaveGame>(UGameplayStatics::LoadGameFromSlot(TEXT("PlayerLocalData"), 0));
if (IsValid(LoadedInstance))
{
    // 读取存档数值赋值给游戏内变量
    CurrentPlayerCurrency = LoadedInstance->PlayerCurrency;
    CurrentCompletedLevelNum = LoadedInstance->CompletedLevelCount;
}
else
{
    // 首次启动初始化默认值
    CurrentPlayerCurrency = 0;
    CurrentCompletedLevelNum = 0;
}

注意事项

  • 存储槽名全局唯一即可,不要和其他存档功能的槽名重复
  • 原生SaveGame存储的文件默认位于游戏的Saved/SaveGames目录下,属于用户本地永久数据,除非用户手动删除或卸载游戏时勾选清除本地数据,否则会一直保留
  • 如果后续有存档防篡改需求,可以额外加加密逻辑,新手阶段直接使用原生方案即可满足需求

内容的提问来源于stack exchange,提问作者Tom Lightfoot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 07:06:04