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