bShowImportDialogAtReimport

bShowImportDialogAtReimport

#Overview

name: bShowImportDialogAtReimport

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

#Summary

#Usage in the C++ source code

The purpose of bShowImportDialogAtReimport is to control whether the FBX import dialog is displayed when reimporting assets in Unreal Engine. This setting is primarily used in the asset import and reimport process.

This setting variable is relied upon by the Unreal Editor’s import and reimport systems, specifically for FBX static meshes, skeletal meshes, and animations. It’s used in the UnrealEd module, which is part of the core editor functionality.

The value of this variable is set in the EditorPerProjectUserSettings class, which is a configuration class for storing user preferences specific to each project. It’s defined as a config property, meaning it can be modified through project settings or configuration files.

bShowImportDialogAtReimport interacts with other variables and conditions, such as IsAutomatedImport(), FApp::IsUnattended(), IsRunningCommandlet(), and GIsRunningUnattendedScript. These are used to determine if the import process is running in an automated or unattended mode, in which case the import dialog is suppressed regardless of this setting.

Developers must be aware that this variable affects the user experience during asset reimportation. When set to true, it allows users to modify import settings each time they reimport an asset. When false, it uses the last known import settings without showing the dialog.

Best practices for using this variable include:

  1. Consider setting it to true during active development to have more control over import settings.
  2. Set it to false for automated processes or when you want to ensure consistent reimport behavior without user intervention.
  3. Be mindful of how it interacts with automation and unattended modes to avoid unexpected behavior in different scenarios.
  4. Use it in conjunction with other import settings to create a smooth and efficient workflow for your team.

#Setting Variables

#References In INI files

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

#References in C++ code

#Callsites

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

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Classes/Editor/EditorPerProjectUserSettings.h:81

Scope (from outer to inner):

file
class        class UEditorPerProjectUserSettings : public UObject

Source code excerpt:

	/** If enabled, the fbx option dialog will show when user re-import a fbx */
	UPROPERTY(EditAnywhere, config, Category = Import)
	uint32 bShowImportDialogAtReimport : 1;

	/** Specify a project data source folder to store relative source file path to ease the re-import process*/
	UPROPERTY(EditAnywhere, config, Category = Import)
	FDirectoryPath DataSourceFolder;

	/** If enabled, export level with attachment hierarchy set */

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Factories/EditorFactories.cpp:6120

Scope (from outer to inner):

file
function     EReimportResult::Type UReimportFbxStaticMeshFactory::Reimport

Source code excerpt:

	//Prevent any UI for automation, unattended and commandlet
	const bool IsUnattended = IsAutomatedImport() || FApp::IsUnattended() || IsRunningCommandlet() || GIsRunningUnattendedScript;
	const bool ShowImportDialogAtReimport = GetDefault<UEditorPerProjectUserSettings>()->bShowImportDialogAtReimport && !IsUnattended;

	if (ImportData == nullptr)
	{
		// An existing import data object was not found, make one here and show the options dialog
		ImportData = UFbxStaticMeshImportData::GetImportDataForStaticMesh(Mesh, ImportUI->StaticMeshImportData);
		check( ImportData != nullptr );

#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Factories/EditorFactories.cpp:6499

Scope (from outer to inner):

file
function     EReimportResult::Type UReimportFbxSkeletalMeshFactory::Reimport

Source code excerpt:

	//Prevent any UI for automation, unattended and commandlet
	const bool IsUnattended = IsAutomatedImport() || FApp::IsUnattended() || IsRunningCommandlet() || GIsRunningUnattendedScript;
	const bool ShowImportDialogAtReimport = GetDefault<UEditorPerProjectUserSettings>()->bShowImportDialogAtReimport && !IsUnattended;

	if (ImportData == nullptr)
	{
		// An existing import data object was not found, make one here and show the options dialog
		ImportData = UFbxSkeletalMeshImportData::GetImportDataForSkeletalMesh(SkeletalMesh, ImportUI->SkeletalMeshImportData);
		SkeletalMesh->SetAssetImportData(ImportData);

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

Scope (from outer to inner):

file
function     bool UEditorEngine::ReimportFbxAnimation

Source code excerpt:

	ReimportUI->bImportAnimations = true;

	const bool ShowImportDialogAtReimport = GetDefault<UEditorPerProjectUserSettings>()->bShowImportDialogAtReimport && !GIsAutomationTesting && bFactoryShowOptions;
	if (ImportData && !ShowImportDialogAtReimport)
	{
		// Prepare the import options
		if (!bOverrideImportSettings)
		{
			//Use the asset import data setting only if there was no ReimportUI parameter