【UE5 C++课程系列笔记】19——通过GConfig读写.ini文件

步骤

  1. 新建一个Actor类,这里命名为"INIActor"
  1. 新建一个配置文件"Test.ini"

添加一个自定义配置项

  1. 接下来我们在"INIActor"类中获取并修改"CustomInt"的值。这里定义一个方法"GetINIVariable"

方法实现如下,其中第16行代码用于构建配置文件的完整路径,FPaths::SourceConfigDir() 函数会获取虚幻引擎项目中源配置目录的路径,然后通过 FString::Printf 函数按照格式化的方式将源配置目录路径与文件名 DefaultGame.ini 进行拼接,形成完整的配置文件路径。

第17行定义了一个 int32 类型的变量 MyConfigVariable,用于存储从配置文件中读取出来的整型配置变量的值。

第18行中,TEXT("Custom")表示配置节(Section)的名称;TEXT("CustomInt")是配置项(Key)的名称。

第21行调用 GConfig->SetInt 函数将更新后的 MyConfigVariable 的值写回到配置文件中。

第22行GConfig->Flush(false, DefaultGamePath) 语句用于将之前对配置文件所做的修改保存到配置文件中。

cpp 复制代码
void AINIActor::GetINIVariable()
{
	const FString DefaultGamePath = FString::Printf(TEXT("%sTest.ini"), *FPaths::SourceConfigDir());
	int32 MyConfigVariable;
	GConfig->GetInt(TEXT("MyCustom"), TEXT("CustomInt"), MyConfigVariable, DefaultGamePath);
	UE_LOG(LogTemp, Warning, TEXT("CustomInt:%d"), MyConfigVariable);
	MyConfigVariable += 10;
	GConfig->SetInt(TEXT("MyCustom"), TEXT("CustomInt"), MyConfigVariable, DefaultGamePath);
	GConfig->Flush(false, DefaultGamePath);
}
  1. 编译后,创建基于"INIActor"的蓝图类

这里命名为"BP_INIActor"

将"BP_INIActor"拖入视口

  1. 在关卡蓝图中通过1键调用方法"GetINIVariable"

调用后可以看到成功获取配置文件中配置项的值

打开"Test.ini"可以看到成功保存了修改后的配置项

相关推荐
1204157137 肖哥3 天前
UE5.7 Procedural Vegetation分析
ue5
半天法师3 天前
Bug 记录:UE 结构体转 JSON 时 Key 字段大小写异常 (Editor 与打包后表现不一致)
ai·ue5·json·bug
邪修king3 天前
UE5 零基础入门第四弹:UMG UI 系统入门,从静态界面到逻辑联动
c++·ui·ue5
HAPPY酷4 天前
UE5 开发工具链配置清单
ue5
晴夏。5 天前
UE5第三人称模板实现及相关引擎源码分析
unity·ue5·游戏引擎·ue
HAPPY酷5 天前
UE5 C++ 避坑指南:暴力移除 Electronic Nodes 插件,回归纯净开发
开发语言·c++·ue5
晴夏。5 天前
UE原生第三人称相机源码分析
游戏·ue5·ue4·相机·ue·3c
郑寿昌7 天前
UE5中FBX材质丢失终极修复指南
ue5·材质
郑寿昌7 天前
AI生成的FBX格式导入UE5模型的兼容性优化指南
ue5
2601_957190908 天前
超元力悬浮玻璃剧场:当光影踏空而来,重构沉浸式文旅新体验
ue5·旅游