參考文章:
https://docs.unrealengine.com/en-US/Programming/Basics/ConfigurationFiles //官網簡單的配置設定和使用
https://blog.ch-wind.com/ue4-config-usage/ //ini檔案配置機制詳細介紹
使用引擎自帶的ini跳過(看官網即可),下面是建立自己的ini檔案:
1.在XXX(項目)/config下建立自己的ini,取名Test.ini。
2.輸入自己的配置資料。比如:

3.建立一個C++類,用來管理這個配置檔案的操作。
class FL10N
{
public:
FL10N();
~FL10N();
static FL10N* Instance();
//section代表的是Common,也可以多個section
FString GetValue(const FName& Key, const FString& Section = "") const;
private:
FConfigFile L10NConfig;
};
FL10N::FL10N()
{
FString ConfigPath = FPaths::GameDir() / TEXT("Config") /FString(TEXT("L10N.ini"));
L10NConfig.Read(ConfigPath);
}
FString FL10N::GetValue(const FName& Key, const FString& Section /*= ""*/) const
{
if (!Section.IsEmpty())
{
const FConfigSection *TmpSection = L10NConfig.Find(Section);
if (TmpSection && TmpSection->Contains(Key))
{
return TmpSection->Find(Key)->GetValue().Replace(TEXT("\\n"), TEXT("\n"));
}
return "";
}
else
{
for (const TPair<FString, FConfigSection>& TmpPair : L10NConfig)
{
if (TmpPair.Value.Contains(Key))
{
return TmpPair.Value.Find(Key)->GetValue().Replace(TEXT("\\n"), TEXT("\n"));
}
}
return "";
}
}
向配置檔案寫入修改資料
有個FConfigCacheIni的全局變量GConfig,這個變量控制UE4的Config裡的初始化檔案。FConfigCacheIni類裡有對初始化檔案的一些基本操作,讀寫,加載等。其實真正的儲存資料還是用savegame和寫入檔案好一些,ini隻是初始化檔案,主要并不是用來存檔。
例子:
//儲存路徑到本地配置檔案
// GGameIni是saved/config下的配置檔案絕對位址,比如:F:/MyProject/Saved/Config/WindowsNoEditor/Game.ini
FString outFolderName=”C:/XXX”;
GConfig->SetString(TEXT("/Script/XXX.XXXController"), TEXT("LocalPathPrefix"), *outFolderName, GGameIni);
SaveConfig(CPF_Config, *GGameIni);
目前還不知道如何向自己定義的ini寫入。(之後補充)
注意:
1.儲存的是saved目錄下的config檔案,saved是本地自己的東西,每次運作都會生成saved檔案,engine/config下的初始化檔案也會拷貝過來。