EnhancedEditorInput.bShouldLogAllInputs
EnhancedEditorInput.bShouldLogAllInputs
#Overview
name: EnhancedEditorInput.bShouldLogAllInputs
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Should each InputKey call be logged?
It is referenced in 6
C++ source files.
#Summary
#Usage in the C++ source code
The purpose of EnhancedEditorInput.bShouldLogAllInputs is to enable logging of all input key calls in the Enhanced Input system within the Unreal Engine editor environment.
This setting variable is primarily used by the Enhanced Input plugin, specifically within the Input Editor module. It’s part of the debugging and logging system for the Enhanced Input functionality in the editor.
The value of this variable is set through a console variable (CVar) defined in the EnhancedInputEditorSettings.cpp file. It can be toggled via the console or through the project settings in the Unreal Engine editor.
This variable interacts closely with its associated variable bLogAllInput, which is a property of the UEnhancedInputEditorSettings class. They share the same value and purpose.
Developers must be aware that enabling this variable can produce a large volume of log entries, as noted in the comment above the bLogAllInput property. It should only be used when debugging input-related issues.
Best practices for using this variable include:
- Only enable it when actively debugging input problems.
- Disable it when not needed to avoid performance impacts and log clutter.
- Use in conjunction with other input debugging tools for comprehensive input analysis.
Regarding the associated variable bLogAllInput:
The purpose of bLogAllInput is the same as EnhancedEditorInput.bShouldLogAllInputs - to control the logging of all input key calls in the Enhanced Input system.
It’s used within the UEnhancedInputEditorSubsystem class to determine whether to log input component pushes and individual key inputs.
The value of bLogAllInput is set in the constructor of UEnhancedInputEditorSettings and can be modified through the Unreal Engine editor settings.
This variable directly interacts with the console variable EnhancedEditorInput.bShouldLogAllInputs, effectively serving as its in-code representation.
Developers should be aware that this is a bit field within the UEnhancedInputEditorSettings class, which allows for efficient storage of boolean values.
Best practices for using bLogAllInput are the same as for EnhancedEditorInput.bShouldLogAllInputs, with the addition that it can be accessed and modified through C++ code if needed, providing programmatic control over the input logging behavior.
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Plugins/EnhancedInput/Source/InputEditor/Private/EnhancedInputEditorSettings.cpp:13
Scope (from outer to inner):
file
namespace UE::EnhancedInput::Private
namespace ConsoleVariables
Source code excerpt:
static bool bShouldLogAllInputs = false;
static FAutoConsoleVariableRef CVarShouldLogAllInputs(
TEXT("EnhancedEditorInput.bShouldLogAllInputs"),
bShouldLogAllInputs,
TEXT("Should each InputKey call be logged?"),
ECVF_Default);
static bool bAutomaticallyStartConsumingInput = false;
static FAutoConsoleVariableRef CVarAutomaticallyStartConsumingInput(
#Loc: <Workspace>/Engine/Plugins/EnhancedInput/Source/InputEditor/Public/EnhancedInputEditorSettings.h:45
Scope (from outer to inner):
file
class class UEnhancedInputEditorSettings : public UDeveloperSettingsBackedByCVars
Source code excerpt:
* Note: This can produce A LOT of logs, so only use this if you are debugging something.
*/
UPROPERTY(config, EditAnywhere, Category = Logging, meta=(ConsoleVariable="EnhancedEditorInput.bShouldLogAllInputs"))
uint8 bLogAllInput : 1;
/** If true, then the UEnhancedInputEditorSubsystem will be started when it is initalized */
UPROPERTY(config, EditAnywhere, Category = Editor, meta=(ConsoleVariable="EnhancedEditorInput.bAutomaticallyStartConsumingInput"))
uint8 bAutomaticallyStartConsumingInput : 1;
#Associated Variable and Callsites
This variable is associated with another variable named bLogAllInput
. They share the same value. See the following C++ source code.
#Loc: <Workspace>/Engine/Plugins/EnhancedInput/Source/InputEditor/Private/EnhancedInputEditorSettings.cpp:38
Scope (from outer to inner):
file
function UEnhancedInputEditorSettings::UEnhancedInputEditorSettings
Source code excerpt:
// UEnhancedInputEditorSettings
UEnhancedInputEditorSettings::UEnhancedInputEditorSettings()
: bLogAllInput(false)
, bAutomaticallyStartConsumingInput(false)
// By default only show the triggered event
, VisibleEventPinsByDefault(static_cast<uint8>(ETriggerEvent::Triggered))
{
}
#Loc: <Workspace>/Engine/Plugins/EnhancedInput/Source/InputEditor/Private/EnhancedInputEditorSubsystem.cpp:138
Scope (from outer to inner):
file
function void UEnhancedInputEditorSubsystem::PushInputComponent
Source code excerpt:
if (InInputComponent)
{
if (GetDefault<UEnhancedInputEditorSettings>()->bLogAllInput)
{
UE_LOG(LogEditorInput, Log, TEXT("PUSHING AN INPUT COMPONENT! '%s'"), *InInputComponent->GetName());
}
// Mark this input component for firing delegates in the editor
if (UEnhancedInputComponent* EIC = Cast<UEnhancedInputComponent>(InInputComponent))
#Loc: <Workspace>/Engine/Plugins/EnhancedInput/Source/InputEditor/Private/EnhancedInputEditorSubsystem.cpp:237
Scope (from outer to inner):
file
function bool UEnhancedInputEditorSubsystem::InputKey
Source code excerpt:
if (bIsCurrentlyConsumingInput)
{
if (GetDefault<UEnhancedInputEditorSettings>()->bLogAllInput)
{
UE_LOG(LogEditorInput, Log, TEXT("EI Editor Subsystem InputKey : [%s]"), *Params.Key.ToString());
}
return PlayerInput->InputKey(Params);
}
return false;
#Loc: <Workspace>/Engine/Plugins/EnhancedInput/Source/InputEditor/Public/EnhancedInputEditorSettings.h:46
Scope (from outer to inner):
file
class class UEnhancedInputEditorSettings : public UDeveloperSettingsBackedByCVars
Source code excerpt:
*/
UPROPERTY(config, EditAnywhere, Category = Logging, meta=(ConsoleVariable="EnhancedEditorInput.bShouldLogAllInputs"))
uint8 bLogAllInput : 1;
/** If true, then the UEnhancedInputEditorSubsystem will be started when it is initalized */
UPROPERTY(config, EditAnywhere, Category = Editor, meta=(ConsoleVariable="EnhancedEditorInput.bAutomaticallyStartConsumingInput"))
uint8 bAutomaticallyStartConsumingInput : 1;
/** A bitmask of what event pins are visible when you place an Input Action event node in blueprints. */