UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnalyticsSettings.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "Misc/Paths.h"
10#include "AnalyticsSettings.generated.h"
11
13
14UCLASS(Abstract)
17{
19
20 UPROPERTY()
21 FText SettingsDisplayName;
22
23 UPROPERTY()
24 FText SettingsTooltip;
25
27 inline FString GetReleaseIniSection() const { return TEXT("Analytics"); }
28 inline FString GetDebugIniSection() const { return TEXT("AnalyticsDebug"); }
29 inline FString GetTestIniSection() const { return TEXT("AnalyticsTest"); }
30 inline FString GetDevelopmentIniSection() const { return TEXT("AnalyticsDevelopment"); }
31 inline FString GetIniName() const { return FString::Printf(TEXT("%sDefaultEngine.ini"), *FPaths::SourceConfigDir()); }
32
33private:
38#if WITH_EDITOR
39 virtual void PostInitProperties() override
40 {
41 Super::PostInitProperties();
42
43 ReadConfigSettings();
44 }
45
46 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override
47 {
48 Super::PostEditChangeProperty(PropertyChangedEvent);
49
50 WriteConfigSettings();
51
52 GConfig->Flush(false, GetIniName());
53 }
54#endif
55
56// UDeveloperSettings interface
58 virtual FName GetCategoryName() const override;
59
60// UAnalyticsSettingsBase interface - derived classes should implement
61protected:
65 virtual void ReadConfigSettings() {}
69 virtual void WriteConfigSettings() {}
70
71#if WITH_EDITOR
73 virtual FText GetSectionText() const
74 {
75 return SettingsDisplayName;
76 }
78 virtual FText GetSectionDescription() const
79 {
80 return SettingsTooltip;
81 }
82#endif
83};
84
85UCLASS()
88{
90
91
92 UPROPERTY(EditAnywhere, DisplayName="Development", Category=Providers, meta=(ConfigRestartRequired=true))
93 FString DevelopmentProviderName;
94
96 UPROPERTY(EditAnywhere, DisplayName="Debug", Category=Providers, meta=(ConfigRestartRequired=true))
97 FString DebugProviderName;
98
100 UPROPERTY(EditAnywhere, DisplayName="Test", Category=Providers, meta=(ConfigRestartRequired=true))
101 FString TestProviderName;
102
104 UPROPERTY(EditAnywhere, DisplayName="Release", Category=Providers, meta=(ConfigRestartRequired=true))
105 FString ReleaseProviderName;
106
107// UAnalyticsSettingsBase interface
108protected:
112 virtual void ReadConfigSettings();
116 virtual void WriteConfigSettings();
117};
FConfigCacheIni * GConfig
Definition CoreGlobals.cpp:54
#define TEXT(x)
Definition Platform.h:1272
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
CORE_API void Flush(bool bRemoveFromCache, const FString &Filename=TEXT(""))
Definition ConfigCacheIni.cpp:4387
Definition NameTypes.h:617
static CORE_API FString SourceConfigDir()
Definition Paths.cpp:544
Definition Text.h:385
Definition AnalyticsSettings.h:17
virtual void ReadConfigSettings()
Definition AnalyticsSettings.h:65
virtual void WriteConfigSettings()
Definition AnalyticsSettings.h:69
Definition AnalyticsSettings.h:88
Definition DeveloperSettings.h:24
Definition UnrealType.h:6865