bShowConsoleOnFourFingerTap

bShowConsoleOnFourFingerTap

#Overview

name: bShowConsoleOnFourFingerTap

The value of this variable can be defined or overridden in .ini config files. 1 .ini config file referencing this setting variable.

It is referenced in 3 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bShowConsoleOnFourFingerTap is to control whether the console can be displayed on mobile platforms (specifically iOS and Android) when the user performs a four-finger tap gesture.

This setting variable is primarily used in the mobile input handling systems of Unreal Engine. Based on the callsites, it’s referenced in the ApplicationCore module for iOS and the Launch module for Android. It’s also defined in the Engine module’s InputSettings class.

The value of this variable is set in the InputSettings configuration file (GInputIni). It can be modified through the project settings in the Unreal Editor, specifically under the “Mobile” category of the Input settings.

This variable interacts with the gesture recognition system on mobile platforms. When enabled and the four-finger tap is detected, it triggers the display of the console window.

Developers must be aware that this feature is platform-specific (mobile only) and may affect the user experience if enabled in production builds. It’s primarily intended for debugging and development purposes.

Best practices when using this variable include:

  1. Only enable it for development builds, not for production releases.
  2. Consider the impact on user experience, as accidental four-finger taps could bring up the console unexpectedly.
  3. Ensure that the console functionality is properly implemented and secured for mobile platforms if this feature is enabled.
  4. Use it in conjunction with other debugging tools and settings for comprehensive mobile development support.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseInput.ini:11, section: [/Script/Engine.InputSettings]

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Source/Runtime/ApplicationCore/Private/IOS/IOSView.cpp:475

Scope: file

Source code excerpt:

		{
			bool bShowConsole = true;
			GConfig->GetBool(TEXT("/Script/Engine.InputSettings"), TEXT("bShowConsoleOnFourFingerTap"), bShowConsole, GInputIni);
			
			if (bShowConsole)
			{
				// disable the integrated keyboard when launching the console
				/*			if (bIsUsingIntegratedKeyboard)
				 {

#Loc: <Workspace>/Engine/Source/Runtime/Engine/Classes/GameFramework/InputSettings.h:110

Scope (from outer to inner):

file
class        class UInputSettings : public UObject

Source code excerpt:

	/** Whether or not to show the console on 4 finger tap, on mobile platforms */
	UPROPERTY(config, EditAnywhere, Category="Mobile")
	uint8 bShowConsoleOnFourFingerTap:1;

	/** Whether or not to use the gesture recognition system to convert touches in to gestures that can be bound and queried */
	UPROPERTY(config, EditAnywhere, Category = "Mobile")
	uint8 bEnableGestureRecognizer:1;

	/** If enabled, virtual keyboards will have autocorrect enabled. Currently only supported on mobile devices. */

#Loc: <Workspace>/Engine/Source/Runtime/Launch/Private/Android/LaunchAndroid.cpp:1319

Scope (from outer to inner):

file
function     static int32_t HandleInputCB

Source code excerpt:

			{
				bool bShowConsole = true;
				GConfig->GetBool(TEXT("/Script/Engine.InputSettings"), TEXT("bShowConsoleOnFourFingerTap"), bShowConsole, GInputIni);

				if (bShowConsole)
				{
					GShowConsoleWindowNextTick = true;
				}
			}