Create/Register a console variable
If you want to create a console variable use static TAutoConsoleVariable in a CPP file of your choice. 🙂 Supported and recommended types are FString, float, and int32.
static TAutoConsoleVariable CVarMyDebugFlag( TEXT("MyDebugFlag"), 0, TEXT("Well this is just a test debug flag.\n") TEXT("<=0: off \n") TEXT(">=1: enable debug something\n"), ECVF_Cheat);
If you want to create a console variable inside a method use IConsoleManager::Get().RegisterConsoleVariable. Supported types are FString, float, and int32.
IConsoleManager::Get().RegisterConsoleVariable( TEXT("MyDebugFlag"), 0, TEXT("Well this is just a test debug flag.\n") TEXT("<=0: off \n") TEXT(">=1: enable debug something\n"), ECVF_Cheat); );
Getting State of a console variable
To get the state of a variable, just use your registered variable name.
// only needed if you are not in the same cpp file extern TAutoConsoleVariable CVarMyDebugFlag; // get the value on the game thread int32 MyVar = CVarMyDebugFlag.GetValueOnGameThread();
For more informations regarding console variables, please read the official docs of Epic ConsoleManager