UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ConsoleManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6
8{
9public:
10
13
14 virtual IConsoleVariable* RegisterConsoleVariable(const TCHAR* Name, bool DefaultValue, const TCHAR* Help, uint32 Flags) override;
15 virtual IConsoleVariable* RegisterConsoleVariable(const TCHAR* Name, int32 DefaultValue, const TCHAR* Help, uint32 Flags) override;
16 virtual IConsoleVariable* RegisterConsoleVariable(const TCHAR* Name, float DefaultValue, const TCHAR* Help, uint32 Flags) override;
17 virtual IConsoleVariable* RegisterConsoleVariable(const TCHAR* Name, const TCHAR* DefaultValue, const TCHAR* Help, uint32 Flags) override;
18 virtual IConsoleVariable* RegisterConsoleVariable(const TCHAR* Name, const FString& DefaultValue, const TCHAR* Help, uint32 Flags) override;
19
20 virtual IConsoleVariable* RegisterConsoleVariableRef(const TCHAR* Name, bool& RefValue, const TCHAR* Help, uint32 Flags) override;
21 virtual IConsoleVariable* RegisterConsoleVariableRef(const TCHAR* Name, int32& RefValue, const TCHAR* Help, uint32 Flags) override;
22 virtual IConsoleVariable* RegisterConsoleVariableRef(const TCHAR* Name, float& RefValue, const TCHAR* Help, uint32 Flags) override;
23 virtual IConsoleVariable* RegisterConsoleVariableRef(const TCHAR* Name, FString& RefValue, const TCHAR* Help, uint32 Flags) override;
24 virtual IConsoleVariable* RegisterConsoleVariableRef(const TCHAR* Name, FName& RefValue, const TCHAR* Help, uint32 Flags) override;
25 virtual IConsoleVariable* RegisterConsoleVariableBitRef(const TCHAR* CVarName, const TCHAR* FlagName, uint32 BitNumber, uint8* Force0MaskPtr, uint8* Force1MaskPtr, const TCHAR* Help, uint32 Flags) override;
26
27 virtual IConsoleCommand* RegisterConsoleCommand(const TCHAR* Name, const TCHAR* Help, const FConsoleCommandDelegate& Command, uint32 Flags) override;
28 virtual IConsoleCommand* RegisterConsoleCommand(const TCHAR* Name, const TCHAR* Help, const FConsoleCommandWithArgsDelegate& Command, uint32 Flags) override;
29 virtual IConsoleCommand* RegisterConsoleCommand(const TCHAR* Name, const TCHAR* Help, const FConsoleCommandWithWorldDelegate& Command, uint32 Flags) override;
30 virtual IConsoleCommand* RegisterConsoleCommand(const TCHAR* Name, const TCHAR* Help, const FConsoleCommandWithWorldAndArgsDelegate& Command, uint32 Flags) override;
33 virtual IConsoleCommand* RegisterConsoleCommand(const TCHAR* Name, const TCHAR* Help, const FConsoleCommandWithOutputDeviceDelegate& Command, uint32 Flags) override;
34 virtual IConsoleCommand* RegisterConsoleCommand(const TCHAR* Name, const TCHAR* Help, uint32 Flags) override;
35
38
39 virtual FString FindConsoleObjectName(const IConsoleObject* Obj) const override;
40 virtual IConsoleObject* FindConsoleObject(const TCHAR* Name, bool bTrackFrequentCalls = true) const override;
41 virtual IConsoleVariable* FindConsoleVariable(const TCHAR* Name, bool bTrackFrequentCalls = true) const override;
42
45 virtual void CallAllConsoleVariableSinks() override;
46
47 virtual void ForEachConsoleObjectThatStartsWith(const FConsoleObjectVisitor& Visitor, const TCHAR* ThatStartsWith) const override;
48 virtual void ForEachConsoleObjectThatContains(const FConsoleObjectVisitor& Visitor, const TCHAR* ThatContains) const override;
49 virtual bool ProcessUserConsoleInput(const TCHAR* InInput, FOutputDevice& Ar, UWorld* InWorld) override;
50 virtual void AddConsoleHistoryEntry(const TCHAR* Key, const TCHAR* Input) override;
51 virtual void GetConsoleHistory(const TCHAR* Key, TArray<FString>& Out) override;
52 virtual bool IsNameRegistered(const TCHAR* Name) const override;
54 virtual void UnregisterConsoleObject(IConsoleObject* Object, bool bKeepState) override;
56 virtual void BatchUpdateTag(FName Tag, const TMap<FName, FString>& CVarsAndValues) override;
57
58#if ALLOW_OTHER_PLATFORM_CONFIG
59 virtual void LoadAllPlatformCVars(FName PlatformName, const FString& DeviceProfileName = FString()) override;
60 virtual void ClearAllPlatformCVars(FName PlatformName = NAME_None, const FString& DeviceProfileName = FString()) override;
61 virtual void PreviewPlatformCVars(FName PlatformName, const FString& DeviceProfileName, FName PreviewModeTag) override;
62 virtual void StompPlatformCVars(FName PlatformName, const FString& DeviceProfileName, FName Tag, EConsoleVariableFlags SetBy, EConsoleVariableFlags RequiredFlags, EConsoleVariableFlags DisallowedFlags) override;
63#endif
64
71
76
79
82
83 void OnCVarChanged();
84 void DumpObjects(const TCHAR* Params, FOutputDevice& InAr, bool bDisplayCommands) const;
85
86#if ALLOW_OTHER_PLATFORM_CONFIG
88#endif
89
90private:
91
96 static bool MatchPartialName(const TCHAR* Stream, const TCHAR* Pattern);
97
99 static bool MatchSubstring(const TCHAR* Stream, const TCHAR* Pattern);
100
105 static FString GetTextSection(const TCHAR*& It);
106
108 IConsoleObject* FindConsoleObjectUnfiltered(const TCHAR* Name) const;
109
118 void UnregisterConsoleObject(const TCHAR* Name, bool bKeepState);
119
121 void LoadHistoryIfNeeded();
122
124 void SaveHistory();
125
130 TMap<FString, IConsoleObject*> ConsoleObjects;
131
132 bool bHistoryWasLoaded;
133 TMap<FString, TArray<FString>> HistoryEntriesMap;
134 TArray<FConsoleCommandDelegate> ConsoleVariableChangeSinks;
135 FConsoleVariableMulticastDelegate ConsoleVariableUnregisteredDelegate;
136 FConsoleObjectWithNameMulticastDelegate ConsoleObjectUnregisteredDelegate;
137 IConsoleThreadPropagation* ThreadPropagationCallback;
138 FCriticalSection CachedPlatformsAndDeviceProfilesLock;
139 TSet<FName> CachedPlatformsAndDeviceProfiles;
141
143 bool bCallAllConsoleVariableSinks;
144
151 mutable FTransactionallySafeCriticalSection ConsoleObjectsSynchronizationObject;
152};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
EConsoleVariableFlags
Definition IConsoleManager.h:54
::FCriticalSection FTransactionallySafeCriticalSection
Definition TransactionallySafeCriticalSection.h:16
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ConsoleManager.h:8
IConsoleThreadPropagation * GetThreadPropagationCallback()
Definition ConsoleManager.cpp:3415
virtual IConsoleCommand * RegisterConsoleCommand(const TCHAR *Name, const TCHAR *Help, const FConsoleCommandDelegate &Command, uint32 Flags) override
Definition ConsoleManager.cpp:2319
void OnCVarChanged()
Definition ConsoleManager.cpp:3425
virtual FString FindConsoleObjectName(const IConsoleObject *Obj) const override
Definition ConsoleManager.cpp:3279
virtual IConsoleVariable * RegisterConsoleVariableRef(const TCHAR *Name, bool &RefValue, const TCHAR *Help, uint32 Flags) override
Definition ConsoleManager.cpp:2288
virtual FConsoleVariableSinkHandle RegisterConsoleVariableSink_Handle(const FConsoleCommandDelegate &Command) override
Definition ConsoleManager.cpp:2001
virtual FConsoleVariableMulticastDelegate & OnCVarUnregistered() override
Definition ConsoleManager.cpp:3430
IConsoleObject * AddConsoleObject(const TCHAR *Name, IConsoleObject *Obj)
Definition ConsoleManager.cpp:3107
virtual bool ProcessUserConsoleInput(const TCHAR *InInput, FOutputDevice &Ar, UWorld *InWorld) override
Definition ConsoleManager.cpp:2892
virtual void RegisterThreadPropagation(uint32 ThreadId, IConsoleThreadPropagation *InCallback) override
Definition ConsoleManager.cpp:3398
virtual void UnregisterConsoleVariableSink_Handle(FConsoleVariableSinkHandle Handle) override
Definition ConsoleManager.cpp:2007
bool IsThreadPropagationThread()
Definition ConsoleManager.cpp:3420
virtual FConsoleObjectWithNameMulticastDelegate & OnConsoleObjectUnregistered() override
Definition ConsoleManager.cpp:3435
virtual void BatchUpdateTag(FName Tag, const TMap< FName, FString > &CVarsAndValues) override
Definition ConsoleManager.cpp:3457
virtual void GetConsoleHistory(const TCHAR *Key, TArray< FString > &Out) override
Definition ConsoleManager.cpp:3385
virtual IConsoleVariable * RegisterConsoleVariable(const TCHAR *Name, bool DefaultValue, const TCHAR *Help, uint32 Flags) override
Definition ConsoleManager.cpp:2256
virtual void AddConsoleHistoryEntry(const TCHAR *Key, const TCHAR *Input) override
Definition ConsoleManager.cpp:3366
virtual void ForEachConsoleObjectThatContains(const FConsoleObjectVisitor &Visitor, const TCHAR *ThatContains) const override
Definition ConsoleManager.cpp:2573
FConsoleManager()
Definition ConsoleManager.cpp:2241
void AddShadowConsoleObject(const TCHAR *Name, IConsoleObject *Obj)
Definition ConsoleManager.cpp:3102
virtual IConsoleVariable * RegisterConsoleVariableBitRef(const TCHAR *CVarName, const TCHAR *FlagName, uint32 BitNumber, uint8 *Force0MaskPtr, uint8 *Force1MaskPtr, const TCHAR *Help, uint32 Flags) override
Definition ConsoleManager.cpp:1924
void DumpObjects(const TCHAR *Params, FOutputDevice &InAr, bool bDisplayCommands) const
Definition ConsoleManager.cpp:2633
virtual void ForEachConsoleObjectThatStartsWith(const FConsoleObjectVisitor &Visitor, const TCHAR *ThatStartsWith) const override
Definition ConsoleManager.cpp:2554
virtual IConsoleVariable * FindConsoleVariable(const TCHAR *Name, bool bTrackFrequentCalls=true) const override
Definition ConsoleManager.cpp:2368
virtual void UnregisterConsoleObject(IConsoleObject *Object, bool bKeepState) override
Definition ConsoleManager.cpp:2442
virtual IConsoleObject * FindConsoleObject(const TCHAR *Name, bool bTrackFrequentCalls=true) const override
Definition ConsoleManager.cpp:2385
virtual bool IsNameRegistered(const TCHAR *Name) const override
Definition ConsoleManager.cpp:3392
virtual void UnsetAllConsoleVariablesWithTag(FName Tag, EConsoleVariableFlags Priority) override
Definition ConsoleManager.cpp:3440
virtual void CallAllConsoleVariableSinks() override
Definition ConsoleManager.cpp:1986
~FConsoleManager()
Definition ConsoleManager.cpp:2247
Definition IConsoleManager.h:834
Definition NameTypes.h:617
Definition OutputDevice.h:133
Definition IConsoleManager.h:387
Definition IConsoleManager.h:558
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition World.h:918
Definition IConsoleManager.h:797
Definition IConsoleManager.h:961
Definition IConsoleManager.h:812