diff --git a/src/addons/send2ue/core/validations.py b/src/addons/send2ue/core/validations.py index 9bd03766..a9397cf4 100644 --- a/src/addons/send2ue/core/validations.py +++ b/src/addons/send2ue/core/validations.py @@ -336,6 +336,16 @@ def validate_required_unreal_project_settings(self): ) ) return False + + if self.properties.validate_project_settings: + if not UnrealRemoteCalls.is_using_legacy_fbx_importer(): + utilities.report_error( + "The Legacy FBX Importer must be used instead of Scene Interchange. Please run this command in the " + "Unreal Editor: Interchange.FeatureFlags.Import.FBX False. Otherwise, persist this in the project's " + "DefaultEngine.ini file." + ) + return False + return True # TODO: temporary validation before lods support for groom is added diff --git a/src/addons/send2ue/dependencies/unreal.py b/src/addons/send2ue/dependencies/unreal.py index 0a70118a..4d9fda36 100644 --- a/src/addons/send2ue/dependencies/unreal.py +++ b/src/addons/send2ue/dependencies/unreal.py @@ -1101,6 +1101,11 @@ def get_project_settings_value(config_name, section_name, setting_name): parser.read(config_path) return parser.get(section_name, setting_name, fallback=None) + + @staticmethod + def is_using_legacy_fbx_importer(): + value = unreal.SystemLibrary.get_console_variable_string_value(r'Interchange.FeatureFlags.Import.FBX') + return value.lower() in ['false', '0'] @staticmethod def has_socket(asset_path, socket_name):