FbxExportCompatibility
FbxExportCompatibility
#Overview
name: FbxExportCompatibility
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 FbxExportCompatibility is to set the FBX SDK compatibility version when exporting to FBX files. It is primarily used for controlling the version compatibility of exported FBX files in Unreal Engine’s asset export system.
This setting variable is primarily relied upon by Unreal Engine’s FBX export subsystem, which is part of the UnrealEd module. It’s specifically used in the MovieSceneTools and UnrealEd modules, which handle exporting FBX files for various purposes, including control rig animations and general asset export.
The value of this variable is typically set in the UFbxExportOption class, which is part of the export options for FBX files. It can be configured through the Unreal Editor’s project settings or programmatically when setting up FBX export operations.
FbxExportCompatibility interacts with other export-related variables such as bASCII (for ASCII vs. binary export) and bForceFrontXAxis (for axis orientation). These variables collectively define the export behavior for FBX files.
Developers must be aware that different FBX versions may have varying levels of compatibility with different 3D software packages. Choosing the appropriate compatibility version is crucial for ensuring that exported FBX files can be correctly imported and used in target applications.
Best practices when using this variable include:
- Selecting the most recent compatibility version that is supported by all target applications to ensure maximum feature support.
- Testing exports with the chosen compatibility version in all target applications to verify compatibility.
- Documenting the chosen compatibility version in the project’s pipeline documentation to ensure consistency across the team.
- Considering the needs of the entire asset pipeline, including any intermediate tools or processes that may interact with the exported FBX files.
#Setting Variables
#References In INI files
Location: <Workspace>/Engine/Config/BaseEditorPerProjectUserSettings.ini:69, section: [/Script/UnrealEd.FbxExportOption]
- INI Section:
/Script/UnrealEd.FbxExportOption
- Raw value:
FBX_2013
- Is Array:
False
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Editor/MovieSceneTools/Private/MovieSceneToolHelpers.cpp:2471
Scope (from outer to inner):
file
function bool MovieSceneToolHelpers::ExportFBXFromControlRigChannels
Source code excerpt:
UFbxExportOption* ExportOptions = Exporter->GetExportOptions();
ExportOptions->FbxExportCompatibility = ExportFBXControlRigSettings->FbxExportCompatibility;
ExportOptions->bASCII = ExportFBXControlRigSettings->bASCII;
ExportOptions->bForceFrontXAxis = ExportFBXControlRigSettings->bForceFrontXAxis;
ExportOptions->bExportLocalTime = ExportFBXControlRigSettings->bExportLocalTime;
Exporter->CreateDocument();
Exporter->SetTransformBaking(true);
#Loc: <Workspace>/Engine/Source/Editor/MovieSceneTools/Public/MovieSceneToolsUserSettings.h:282
Scope (from outer to inner):
file
class class UMovieSceneUserExportFBXControlRigSettings : public UObject
Source code excerpt:
/** This will set the fbx sdk compatibility when exporting to fbx file. The default value is 2013 */
UPROPERTY(EditAnywhere, BlueprintReadWrite, config, Category = Exporter)
EFbxExportCompatibility FbxExportCompatibility = EFbxExportCompatibility::FBX_2018;
/** If enabled, save as ascii instead of binary */
UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, config, Category = Exporter)
uint32 bASCII : 1;
/** Whether to force the front axis to be align with X instead of -Y. */
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Classes/Exporters/FbxExportOption.h:43
Scope (from outer to inner):
file
class class UFbxExportOption : public UObject
Source code excerpt:
/** This will set the fbx sdk compatibility when exporting to fbx file. The default value is 2013 */
UPROPERTY(EditAnywhere, BlueprintReadWrite, config, Category = Exporter)
EFbxExportCompatibility FbxExportCompatibility;
/** If enabled, save as ascii instead of binary */
UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, config, Category = Exporter)
uint32 bASCII : 1;
/** If enabled, export with X axis as the front axis instead of default -Y */
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxExportOption.cpp:18
Scope (from outer to inner):
file
function UFbxExportOption::UFbxExportOption
Source code excerpt:
: Super(ObjectInitializer)
{
FbxExportCompatibility = EFbxExportCompatibility::FBX_2013;
bASCII = false;
bForceFrontXAxis = false;
LevelOfDetail = true;
Collision = true;
bExportSourceMesh = false;
bExportMorphTargets = true;
#Loc: <Workspace>/Engine/Source/Editor/UnrealEd/Private/Fbx/FbxMainExport.cpp:332
Scope (from outer to inner):
file
namespace UnFbx
function void FFbxExporter::WriteToFile
Source code excerpt:
//Get the compatibility from the editor settings
const char* CompatibilitySetting = FBX_2013_00_COMPATIBLE;
const EFbxExportCompatibility FbxExportCompatibility = GetExportOptions()->FbxExportCompatibility;
switch (FbxExportCompatibility)
{
case EFbxExportCompatibility::FBX_2011:
CompatibilitySetting = FBX_2011_00_COMPATIBLE;
break;
case EFbxExportCompatibility::FBX_2012:
CompatibilitySetting = FBX_2012_00_COMPATIBLE;