Description

This is a regression in behavior between 4.14.1 and 4.14.2!

The editor will crash when importing FBX meshes that have multiple material ID assignments. If it's a single material ID it will import without the crash.

Tested with:
Working: 4.14.1 Binary CL-3224400
Broken: 4.14.2 Binary CL-3241561
Working: 4.15 Dev-Main CL-3238204
Working: 4.16 Dev-Main CL-3247095
Working: 4.15 Automated Binary Build CL-3247232

Added test assets from 3Ds Max 2016 that recreate the crash attached below.

  • MultiMatBox uses 3 material elements assigned to a box that is 100x100x100cm. - Causes Crash
  • Box2 uses a single material element on a box that is 100x100x100cm, - Does not cause crash.
Steps to Reproduce

1. Import attached asset
2. Use default settings for the Import Options

Results: The editor will crash

Assertion failed: (Index >= 0) & (Index < ArrayNum) [Link Removed] [Line: 634]
Array index out of bounds: -1 from an array of size

Callstack

MachineId:7D8A1A304BE9658328C158A3D14CC774
EpicAccountId:7c6293d6bf1940c0bc89e1494c5ba9d7

Assertion failed: (Index >= 0) & (Index < ArrayNum) [Link Removed] [Line: 634]
Array index out of bounds: -1 from an array of size 1

UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:332]
UE4Editor_UnrealEd!UnFbx::FFbxImporter::ReorderMaterialToFbxOrder() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\fbx\fbxstaticmeshimport.cpp:1619]
UE4Editor_UnrealEd!UFbxFactory::FactoryCreateBinary() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\fbx\fbxfactory.cpp:297]
UE4Editor_UnrealEd!UFactory::FactoryCreateFile() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\factories\factory.cpp:75]
UE4Editor_UnrealEd!UFactory::ImportObject() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\unrealed\private\factories\factory.cpp:150]
UE4Editor_AssetTools!FAssetTools::ImportAssetsInternal() [d:\build\++ue4+release-4.14+compile\sync\engine\source\developer\assettools\private\assettools.cpp:1375]
UE4Editor_AssetTools!FAssetTools::ImportAssets() [d:\build\++ue4+release-4.14+compile\sync\engine\source\developer\assettools\private\assettools.cpp:628]
UE4Editor_AssetTools!FAssetTools::ImportAssets() [d:\build\++ue4+release-4.14+compile\sync\engine\source\developer\assettools\private\assettools.cpp:561]
UE4Editor_ContentBrowser!SContentBrowser::ImportAsset() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\contentbrowser\private\scontentbrowser.cpp:790]
UE4Editor_ContentBrowser!SContentBrowser::HandleImportClicked() [d:\build\++ue4+release-4.14+compile\sync\engine\source\editor\contentbrowser\private\scontentbrowser.cpp:781]
UE4Editor_ContentBrowser!TMemberFunctionCaller<SContentBrowser,FReply (__cdecl SContentBrowser::*)(void) __ptr64>::operator()<>() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:161]
UE4Editor_ContentBrowser!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SContentBrowser,FReply (__cdecl SContentBrowser::*)(void) __ptr64> >() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\tuple.h:116]
UE4Editor_ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,FReply __cdecl(void)>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:318]
UE4Editor_Slate!TBaseDelegate<FReply>::Execute() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:522]
UE4Editor_Slate!SButton::OnMouseButtonUp() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\widgets\input\sbutton.cpp:275]
UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator()() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5010]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:215]
UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:4999]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5462]
UE4Editor_Slate!FSlateApplication::OnMouseUp() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5439]
UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:1652]
UE4Editor_Core!FWindowsApplication::DeferMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:2071]
UE4Editor_Core!FWindowsApplication::ProcessMessage() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:814]
UE4Editor_Core!FWindowsApplication::AppWndProc() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsapplication.cpp:678]
user32
user32
UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:951]
UE4Editor!FEngineLoop::Tick() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\launchengineloop.cpp:2811]
UE4Editor!GuardedMain() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\launch.cpp:152]
UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\build\++ue4+release-4.14+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:202]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll

Have Comments or More Details?

Head over to the existingAnswerHub thread and let us know what's up.

11
Login to Vote

Fixed
ComponentTools - Import
Affects Versions4.14.2
Target Fix4.14.3
Fix Commit3247844
CreatedJan 5, 2017
ResolvedJan 5, 2017
UpdatedApr 27, 2018