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:
- Consider setting it to true during active development to have more control over import settings.
- Set it to false for automated processes or when you want to ensure consistent reimport behavior without user intervention.
- Be mindful of how it interacts with automation and unattended modes to avoid unexpected behavior in different scenarios.
- 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]
- INI Section:
/Script/UnrealEd.EditorPerProjectUserSettings
- Raw value:
False
- Is Array:
False
#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