Live Config
Loading...
Searching...
No Matches
LiveConfigSettings.h
1// Copyright (c) 2026 Nicholas Arthur
2// Licensed under the MIT License
3
4#pragma once
5
6#include "CoreMinimal.h"
7#include "Engine/DeveloperSettings.h"
8#include "LiveConfigTypes.h"
9#include "LiveConfigPropertyName.h"
10#include "LiveConfigSettings.generated.h"
11
12
13UENUM()
14enum class ELiveConfigRedirectMode : uint8
15{
17 AlwaysCreate,
19 NeverCreate,
21 Prompt
22};
23
27UCLASS(Config=Game, DefaultConfig)
28class LIVECONFIG_API ULiveConfigSettings : public UDeveloperSettings
29{
30 GENERATED_BODY()
31
32public:
33 virtual FName GetCategoryName() const override { return TEXT("Game"); }
34 virtual FName GetSectionName() const override { return TEXT("Live Config"); }
35
44 UPROPERTY(Config, EditAnywhere, BlueprintReadWrite, Category = "RemoteOverrides")
45 ELiveConfigSourceType DefaultExternalSource = ELiveConfigSourceType::None;
46
47 static FString GetSourcePath();
48
67 UPROPERTY(Config, EditAnywhere, BlueprintReadWrite, Category = "RemoteOverrides", Meta = (EditCondition = "DefaultExternalSource == ELiveConfigSourceType::HttpCsv", EditConditionHides))
68 FString RemoteCsvUrl;
69
74 UPROPERTY(Config, EditAnywhere, BlueprintReadWrite, Category = "RemoteOverrides", Meta = (ClampMin = "5.0", ClampMax = "3600.0"))
75 float PollingRate = 30.0f;
76
81 UPROPERTY(Config, EditAnywhere, Category = "CurveTable", Meta = (AllowedClasses = "/Script/Engine.CurveTable"))
82 FSoftObjectPath ExportCurveTable;
83
89 UPROPERTY(Config, EditAnywhere, Category = "CurveTable", Meta = (AllowedClasses = "/Script/Engine.CurveTable"))
90 TArray<FSoftObjectPath> ImportCurveTables;
91
93 UPROPERTY(Config, EditAnywhere, Category = "CurveTable")
94 bool bAutoCreateRowsInExportTable = true;
95
97 UPROPERTY(Config, EditAnywhere, Category = "Profiles")
98 bool bEnableProfileReplication = true;
99
101 UPROPERTY(Config, EditAnywhere, Category = "Profiles", Meta = (MetaClass = "/Script/LiveConfig.LiveConfigProfileActor"))
102 FSoftClassPath ProfileActorClass;
103
107 UPROPERTY(Config, EditAnywhere, Category = "Property Manager")
108 ELiveConfigRedirectMode RedirectMode = ELiveConfigRedirectMode::AlwaysCreate;
109};
Definition LiveConfig.Build.cs:7
Definition LiveConfigSettings.h:29