Description

The editor crashes with a failed assertion when opening a blueprint actor that contains a structure with instanced objects.

Steps to Reproduce
  1. Create a Blank C++ project without Starter Content
  2. Create a C++ UObject named "MyInstancedObject"(Header file in attachments)
  3. Copy this code into MyInstancedObject.h below '#include "MyInstancedObject.generated.h"':
USTRUCT(BlueprintType)
struct FMyStruct
{
    GENERATED_BODY()

    UPROPERTY(EditAnywhere, Instanced)
    UObject* SafeObjectPointer;
};

     4. Set the UClass specifiers to Blueprintable and EditInLineNew

UCLASS(Blueprintable, EditInlineNew)

    5. Copy this code below GENERATED_BODY() within the class declaration

    UPROPERTY(EditAnywhere)
    FString String;
 

    6. Save in Visual Studio then compile in the Editor
    7. Create a new Blueprint Actor named "OpenAfterRestart"
    8. Add a variable of type "My Struct" then change it to an array
    9. Compile the blueprint
    10. Add an element to the array
    11. In the element set the Safe Object Pointer to "My Instanced Object"
    12. Compile, save, then close the editor
    13. Reopen the Project
    14. Open the Blueprint Actor "OpenAfterRestart"

Expected Results:
Blueprint Actor opens.

Actual Results:
Editor crashes.

Callstack
UnrealEditor-Engine!FInstancedPropertyPath::Resolve(UObject const *) [InstancedReferenceSubobjectHelper.cpp:28]
UnrealEditor-UnrealEd!7ffe23340000  + 879b0c
UnrealEditor-UnrealEd!7ffe23340000  + 879359
UnrealEditor-Kismet!FBlueprintCompilationManagerImpl::ReinstanceBatch(TArray<FReinstancingJob,TSizedDefaultAllocator<32> > &,TMap<UClass *,UClass *,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<UClass *,UClass *,0> > &,FUObjectSerializeContext *) [BlueprintCompilationManager.cpp:2120]
UnrealEditor-Kismet!FBlueprintCompilationManagerImpl::FlushCompilationQueueImpl(bool,TArray<UBlueprint *,TSizedDefaultAllocator<32> > *,TArray<UBlueprint *,TSizedDefaultAllocator<32> > *,FUObjectSerializeContext *) [BlueprintCompilationManager.cpp:1419]
UnrealEditor-Kismet!FBlueprintCompilationManager::FlushCompilationQueue(FUObjectSerializeContext *) [BlueprintCompilationManager.cpp:3068]
UnrealEditor-CoreUObject!FScopedClassDependencyGather::~FScopedClassDependencyGather() [BlueprintSupport.cpp:455]
UnrealEditor-CoreUObject!FLinkerLoad::CreateExport(int) [LinkerLoad.cpp:5060]
UnrealEditor-CoreUObject!FLinkerLoad::CreateExportAndPreload(int,bool) [LinkerLoad.cpp:3637]
UnrealEditor-CoreUObject!FLinkerLoad::LoadAllObjects(bool) [LinkerLoad.cpp:3808]
UnrealEditor-CoreUObject!LoadPackageInternal(UPackage *,FPackagePath const &,unsigned int,FLinkerLoad *,FArchive *,FLinkerInstancingContext const *,FPackagePath const *) [UObjectGlobals.cpp:1303]
UnrealEditor-CoreUObject!LoadPackage(UPackage *,FPackagePath const &,unsigned int,FArchive *,FLinkerInstancingContext const *,FPackagePath const *) [UObjectGlobals.cpp:1482]
UnrealEditor-CoreUObject!LoadPackage(UPackage *,wchar_t const *,unsigned int,FArchive *,FLinkerInstancingContext const *) [UObjectGlobals.cpp:1462]
UnrealEditor-CoreUObject!ResolveName(UObject * &,FString &,bool,bool,unsigned int,FLinkerInstancingContext const *) [UObjectGlobals.cpp:783]
UnrealEditor-CoreUObject!StaticLoadObjectInternal(UClass *,UObject *,wchar_t const *,wchar_t const *,unsigned int,UPackageMap *,bool,FLinkerInstancingContext const *) [UObjectGlobals.cpp:858]
UnrealEditor-CoreUObject!StaticLoadObject(UClass *,UObject *,wchar_t const *,wchar_t const *,unsigned int,UPackageMap *,bool,FLinkerInstancingContext const *) [UObjectGlobals.cpp:933]
UnrealEditor-ContentBrowserAssetDataSource!ContentBrowserAssetData::EditOrPreviewAssetFileItems(TArrayView<TSharedRef<FContentBrowserAssetFileItemDataPayload const ,0> const ,int>,bool) [ContentBrowserAssetDataCore.cpp:276]
UnrealEditor-ContentBrowserAssetDataSource!ContentBrowserAssetData::EditOrPreviewItems(IAssetTools *,UContentBrowserDataSource const *,TArrayView<FContentBrowserItemData const ,int>,bool) [ContentBrowserAssetDataCore.cpp:307]
UnrealEditor-ContentBrowserAssetDataSource!UContentBrowserAssetDataSource::BulkEditItems(TArrayView<FContentBrowserItemData const ,int>) [ContentBrowserAssetDataSource.cpp:1046]
UnrealEditor-ContentBrowser!SContentBrowser::OnItemsActivated(TArrayView<FContentBrowserItem const ,int>,EAssetTypeActivationMethod::Type) [SContentBrowser.cpp:2454]
UnrealEditor-ContentBrowser!TBaseSPMethodDelegateInstance<0,SContentBrowser,0,void ,FDefaultDelegateUserPolicy>::Execute(TArrayView<FContentBrowserItem const ,int>,EAssetTypeActivationMethod::Type) [DelegateInstancesImpl.h:290]
UnrealEditor-ContentBrowser!SAssetView::OnListMouseButtonDoubleClick(TSharedPtr<FAssetViewItem,0>) [SAssetView.cpp:3560]
UnrealEditor-ContentBrowser!TBaseSPMethodDelegateInstance<0,SAssetView,0,void ,FDefaultDelegateUserPolicy>::ExecuteIfSafe(TSharedPtr<FAssetViewItem,0>) [DelegateInstancesImpl.h:307]
UnrealEditor-ContentBrowser!TDelegate<void ,FDefaultDelegateUserPolicy>::ExecuteIfBound<void,0>(TSharedPtr<FAssetViewItem,0>) [DelegateSignatureImpl.inl:599]
UnrealEditor-ContentBrowser!SListView<TSharedPtr<FAssetViewItem,0> >::Private_OnItemDoubleClicked(TSharedPtr<FAssetViewItem,0>) [SListView.h:1080]
UnrealEditor-ContentBrowser!STableRow<TSharedPtr<FAssetViewItem,0> >::OnMouseButtonDoubleClick(FGeometry const &,FPointerEvent const &) [STableRow.h:461]
UnrealEditor-Slate!static class FReply FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_38816398cd24931ec4d21c3bfc532a3b> >(class FSlateApplication *, class FEventRouter::FBubblePolicy, struct FPointerEvent, const class FSlateApplication::RoutePointerDoubleClickEvent::__l2::<lambda_38816398cd24931ec4d21c3bfc532a3b> & const, ESlateDebuggingInputEvent) [SlateApplication.cpp:380]
UnrealEditor-Slate!FSlateApplication::RoutePointerDoubleClickEvent(FWidgetPath const &,FPointerEvent const &) [SlateApplication.cpp:5302]
UnrealEditor-Slate!FSlateApplication::ProcessMouseButtonDoubleClickEvent(TSharedPtr<FGenericWindow,0> const &,FPointerEvent const &) [SlateApplication.cpp:5289]
UnrealEditor-Slate!FSlateApplication::OnMouseDoubleClick(TSharedPtr<FGenericWindow,0> const &,EMouseButtons::Type,FVector2D) [SlateApplication.cpp:5252]
UnrealEditor-ApplicationCore!FWindowsApplication::ProcessDeferredMessage(FDeferredWindowsMessage const &) [WindowsApplication.cpp:2200]
UnrealEditor-ApplicationCore!FWindowsApplication::DeferMessage(TSharedPtr<FWindowsWindow,0> &,HWND__ *,unsigned int,unsigned __int64,__int64,int,int,unsigned int) [WindowsApplication.cpp:2689]
UnrealEditor-ApplicationCore!FWindowsApplication::ProcessMessage(HWND__ *,unsigned int,unsigned __int64,__int64) [WindowsApplication.cpp:1872]
UnrealEditor-ApplicationCore!FWindowsApplication::AppWndProc(HWND__ *,unsigned int,unsigned __int64,__int64) [WindowsApplication.cpp:896]
USER32!7ffe8ce00000  + 163ed
USER32!7ffe8ce00000  + 15de2
UnrealEditor-ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages(bool) [WindowsPlatformApplicationMisc.cpp:131]
UnrealEditor!7ff7fb040000  + 76cb
UnrealEditor!7ff7fb040000  + 20b2c
UnrealEditor!7ff7fb040000  + 20c0a
UnrealEditor!7ff7fb040000  + 3573d
UnrealEditor!7ff7fb040000  + 386ba
KERNEL32!7ffe8d650000  + 17bd4
ntdll!7ffe8de20000  + 6ced1

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-140249 in the post.

0
Login to Vote

Cannot Reproduce
ComponentUE - Gameplay - Blueprint
Affects Versions5.0
Target Fix5.0
CreatedJan 26, 2022
ResolvedFeb 8, 2022
UpdatedApr 25, 2022