MetaDataKeys

MetaDataKeys

#Overview

name: MetaDataKeys

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

It is referenced in 2 C++ source files.

#Summary

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEngine.ini:108, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:109, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:110, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:111, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:112, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:113, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:114, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:115, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:116, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:117, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:118, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:119, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:120, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

Location: <Workspace>/Engine/Config/BaseEngine.ini:121, section: [CoreUObject.ShortTypeNameInMetaDataCheck]

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:4073

Scope (from outer to inner):

file
function     static int32 FindFieldMetaDataShortTypeNames

Source code excerpt:

/** Checks MetaData values for known MetaData keys to see if they contain short type names **/
template <typename T>
static int32 FindFieldMetaDataShortTypeNames(const T* Field, const TArray<FName>& MetaDataKeys)
{
	int32 ShortTypeNameCount = 0;
	for (FName MetaDataKey : MetaDataKeys)
	{
		const FString* MetaData = Field->FindMetaData(MetaDataKey);
		if (MetaData && !MetaData->IsEmpty())
		{
			FString ParsedMetaDataValue;
			int32 CommaIndex = -1;

#Loc: <Workspace>/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:4111

Scope (from outer to inner):

file
function     int32 FStructUtils::AttemptToFindShortTypeNamesInMetaData

Source code excerpt:

	static struct FShortTypeNameMetaDataSettings
	{
		TArray<FName> MetaDataKeys;
		FShortTypeNameMetaDataSettings()
		{
			TArray<FString> ConfigMetaDataKeys;
			if (GConfig->GetArray(TEXT("CoreUObject.ShortTypeNameInMetaDataCheck"), TEXT("MetaDataKeys"), ConfigMetaDataKeys, GEngineIni))
			{
				MetaDataKeys.Reserve(ConfigMetaDataKeys.Num());
				for (const FString& Key : ConfigMetaDataKeys)
				{
					MetaDataKeys.Add(FName(*Key));
				}
			}
		}
	} Settings;

	int32 ShortTypeNamesCount = 0;

	if (Settings.MetaDataKeys.Num())
	{
		for (TObjectIterator<UField> FieldIt; FieldIt; ++FieldIt)
		{
			// Check MetaData stored with classes / enums / structs
			ShortTypeNamesCount += FindFieldMetaDataShortTypeNames(*FieldIt, Settings.MetaDataKeys);

			// Check struct members but no need to check function parameters
			UStruct* StructWithMembers = Cast<UStruct>(*FieldIt);
			if (StructWithMembers && !StructWithMembers->IsA<UFunction>())
			{
				for (TFieldIterator<FProperty> PropertyIt(StructWithMembers, EFieldIterationFlags::None); PropertyIt; ++PropertyIt)
				{
					ShortTypeNamesCount += FindFieldMetaDataShortTypeNames(*PropertyIt, Settings.MetaDataKeys);
				}
			}
		}
	}

	if (ShortTypeNamesCount > 0)