bOverrideFullName

bOverrideFullName

#Overview

name: bOverrideFullName

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 5 C++ source files.

#Summary

#Usage in the C++ source code

The purpose of bOverrideFullName is to control the naming behavior when importing FBX assets into Unreal Engine. Specifically, it determines whether to use the string in the “Name” field as the full name of the imported mesh.

This setting variable is primarily used in the Unreal Engine’s FBX import system, which is part of the Editor and Interchange modules. It’s particularly relevant for the following subsystems:

  1. FBX Import UI
  2. Skeletal Mesh Import
  3. Static Mesh Import
  4. Animation Import

The value of this variable is typically set in the FBX import UI (UFbxImportUI class) and can be modified by users through the import settings interface. It’s a boolean flag, represented as a bit field in the C++ code.

bOverrideFullName interacts with other import settings, particularly those related to mesh and animation import options. It’s often used in conjunction with other naming and import strategy variables.

Developers should be aware of the following when using this variable:

  1. It only works when the scene contains one mesh.
  2. Setting this to true will override the default naming convention for imported assets.
  3. It can affect the way assets are organized and referenced in the project.

Best practices when using this variable include:

  1. Use it judiciously, as overriding default naming conventions can lead to confusion in larger projects.
  2. Ensure consistent naming conventions across the team when using this option.
  3. Document the use of this option in the project’s asset naming guidelines.
  4. Be cautious when reimporting assets with this option, as it may affect existing references.

#Setting Variables

#References In INI files

Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:620, section: [/Script/UnrealEd.FbxImportUI]

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Plugins/Interchange/Editor/Source/InterchangeEditor/Private/InterchangeFbxAssetImportDataConverter.cpp:619

Scope (from outer to inner):

file
namespace    UE::Interchange::Private
function     UAssetImportData* ConvertToInterchange

Source code excerpt:


		//General Options
		GenericAssetPipeline->bUseSourceNameForAsset = FbxImportUI->bOverrideFullName;
		GenericAssetPipeline->ReimportStrategy = EReimportStrategyFlags::ApplyNoProperties;

		//Material Options
		GenericAssetPipeline->MaterialPipeline->bImportMaterials = FbxImportUI->bImportMaterials;
		switch (FbxImportUI->TextureImportData->MaterialSearchLocation)
		{

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Classes/Factories/FbxImportUI.h:114

Scope (from outer to inner):

file
class        class UFbxImportUI : public UObject, public IImportSettingsParser

Source code excerpt:

	/** Use the string in "Name" field as full name of mesh. The option only works when the scene contains one mesh. */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, config, Category=Miscellaneous, meta=(OBJRestrict="true"))
	uint32 bOverrideFullName:1;

	/** Whether to import the incoming FBX as a skeletal object */
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Mesh, meta = (ImportType = "StaticMesh|SkeletalMesh", DisplayName="Skeletal Mesh"))
	bool bImportAsSkeletal;
	
	/** Whether to import the incoming FBX as a Subdivision Surface (could be made a combo box together with bImportAsSkeletal) (Experimental, Early work in progress) */

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxMainImport.cpp:354

Scope (from outer to inner):

file
namespace    UnFbx
function     void ApplyImportUIToImportOptions

Source code excerpt:

	//General options
	{
		InOutImportOptions.bUsedAsFullName			= ImportUI->bOverrideFullName;
		InOutImportOptions.ImportType				= ImportUI->MeshTypeToImport;

		InOutImportOptions.bResetToFbxOnMaterialConflict = ImportUI->bResetToFbxOnMaterialConflict;
		InOutImportOptions.bAutoComputeLodDistances	= ImportUI->bAutoComputeLodDistances;
		InOutImportOptions.LodDistances.Empty(8);
		InOutImportOptions.LodDistances.Add(ImportUI->LodDistance0);

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/SkeletalMeshEdit.cpp:137

Scope (from outer to inner):

file
function     bool UEditorEngine::ReimportFbxAnimation

Source code excerpt:


	ReimportUI->MeshTypeToImport = FBXIT_Animation;
	ReimportUI->bOverrideFullName = false;
	ReimportUI->bImportAnimations = true;

	const bool ShowImportDialogAtReimport = GetDefault<UEditorPerProjectUserSettings>()->bShowImportDialogAtReimport && !GIsAutomationTesting && bFactoryShowOptions;
	if (ImportData && !ShowImportDialogAtReimport)
	{
		// Prepare the import options

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/SkinWeightsUtilities.cpp:182

Scope (from outer to inner):

file
function     bool FSkinWeightsUtilities::ImportAlternateSkinWeight

Source code excerpt:

		FbxFactory->ImportUI->bImportRigidMesh = false;
		FbxFactory->ImportUI->bIsObjImport = false;
		FbxFactory->ImportUI->bOverrideFullName = true;
		FbxFactory->ImportUI->Skeleton = nullptr;

		//Force some skeletal mesh import options
		if (FbxFactory->ImportUI->SkeletalMeshImportData)
		{
			FbxFactory->ImportUI->SkeletalMeshImportData->bImportMeshLODs = false;