Description

BlueprintGeneratedClass is not based UBleupint. So the following code is failed.

 

bool UActorFactoryBlueprint::PreSpawnActor( UObject* Asset, FTransform& InOutLocation)
{
UBlueprint* Blueprint = CastChecked<UBlueprint>(Asset);

 

And, the following code can fix this issue.

FSequencerBindingProxy UMovieSceneSequenceExtensions::AddSpawnableFromClass(UMovieSceneSequence* Sequence, UClass* ClassToSpawn)
{
   //FGuid NewGuid = Sequence->AllowsSpawnableObjects() ? Sequence->CreateSpawnable(ClassToSpawn) : FGuid();

   FGuid NewGuid = Sequence->AllowsSpawnableObjects() ? Sequence->CreateSpawnable(ClassToSpawn->GetDefaultObject<AActor>()) : FGuid();

return FSequencerBindingProxy(NewGuid, Sequence);
}

 

Steps to Reproduce
  1. Enasble SequencerScripting plugin
  2. Create LevelSeuqnece asset
  3. Create Blueprint based Actor
  4. Create EditorUtilityWidget
  5. Add button to the new EditorUtilityWidget to run AddSpawnableFromClass with  BlueprintGeneratedClass of 3 specified 
  6. Push the button to run the AddSpawnableFromClass 
  7. crash

Script Stack (2 frames)[Image Removed]
ED_SequencerScripting_C.ExecuteUbergraph_ED_SequencerScripting
ED_SequencerScripting_C.BndEvt_Button_67_K2Node_ComponentBoundEvent_0_OnButtonPressedEvent_DelegateSignature

Fatal error: [Link Removed] [Line: 10] 

Cast of BlueprintGeneratedClass /Game/SequencerScripting/BP_SequencerScriptingTestCharacter.BP_SequencerScriptingTestCharacter_C to Blueprint failed

UE4Editor-Win64-Debug.exe has triggered a breakpoint.

Callstack

UE4Editor_CoreUObject!CastLogError() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\templates\casts.cpp:10]
UE4Editor_UnrealEd!UActorFactoryBlueprint::PreSpawnActor() [d:\build\release-4.22\engine\source\editor\unrealed\private\factories\actorfactory.cpp:1410]
UE4Editor_UnrealEd!UActorFactory::CreateActor() [d:\build\release-4.22\engine\source\editor\unrealed\private\factories\actorfactory.cpp:266]
UE4Editor_LevelSequenceEditor!FLevelSequenceEditorActorSpawner::CreateNewSpawnableType() [d:\build\release-4.22\engine\plugins\moviescene\levelsequenceeditor\source\levelsequenceeditor\private\misc\levelsequenceeditoractorspawner.cpp:95]
UE4Editor_LevelSequence!ULevelSequence::CreateSpawnable() [d:\build\release-4.22\engine\source\runtime\levelsequence\private\levelsequence.cpp:553]
UE4Editor_SequencerScripting!UMovieSceneSequenceExtensions::AddSpawnableFromClass() [d:\build\release-4.22\engine\plugins\moviescene\sequencerscripting\source\sequencerscripting\private\extensionlibraries\moviescenesequenceextensions.cpp:455]
UE4Editor_SequencerScripting!UMovieSceneSequenceExtensions::execAddSpawnableFromClass() [d:\build\release-4.22\engine\plugins\moviescene\sequencerscripting\source\sequencerscripting\public\extensionlibraries\moviescenesequenceextensions.h:22]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\class.cpp:4643]
UE4Editor_CoreUObject!UObject::CallFunction() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:904]
UE4Editor_CoreUObject!UObject::ProcessContextOpcode() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2314]
UE4Editor_CoreUObject!UObject::execLet() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:2100]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!ProcessScriptFunction<void (__cdecl*)(UObject *,FFrame &,void *)>() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:809]
UE4Editor_CoreUObject!ProcessLocalFunction() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1033]
UE4Editor_CoreUObject!ProcessLocalScriptFunction() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:974]
UE4Editor_CoreUObject!UObject::ProcessInternal() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1058]
UE4Editor_CoreUObject!UFunction::Invoke() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\class.cpp:4643]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\build\release-4.22\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1464]
UE4Editor_UMG!TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>() [d:\build\release-4.22\engine\source\runtime\core\public\uobject\scriptdelegates.h:488]
UE4Editor_UMG!TBaseUObjectMethodDelegateInstance<0,UButton,void __cdecl(void)>::ExecuteIfSafe() [d:\build\release-4.22\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:679]
UE4Editor_Slate!SButton::OnMouseButtonDown() [d:\build\release-4.22\engine\source\runtime\slate\private\widgets\input\sbutton.cpp:218]
UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FPointerEvent,<lambda_6264868de66784e8427f79716494ab5b> >() [d:\build\release-4.22\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:271]
UE4Editor_Slate!FSlateApplication::RoutePointerDownEvent() [d:\build\release-4.22\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5487]
UE4Editor_Slate!FSlateApplication::ProcessMouseButtonDownEvent() [d:\build\release-4.22\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5440]
UE4Editor_Slate!FSlateApplication::OnMouseDown() [d:\build\release-4.22\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:5353]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessDeferredMessage() [d:\build\release-4.22\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1850]
UE4Editor_ApplicationCore!FWindowsApplication::DeferMessage() [d:\build\release-4.22\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:2292]
UE4Editor_ApplicationCore!FWindowsApplication::ProcessMessage() [d:\build\release-4.22\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:1522]
UE4Editor_ApplicationCore!FWindowsApplication::AppWndProc() [d:\build\release-4.22\engine\source\runtime\applicationcore\private\windows\windowsapplication.cpp:772]
user32
user32
UE4Editor_ApplicationCore!FWindowsPlatformApplicationMisc::PumpMessages() [d:\build\release-4.22\engine\source\runtime\applicationcore\private\windows\windowsplatformapplicationmisc.cpp:130]
UE4Editor!FEngineLoop::Tick() [d:\build\release-4.22\engine\source\runtime\launch\private\launchengineloop.cpp:3882]
UE4Editor!GuardedMain() [d:\build\release-4.22\engine\source\runtime\launch\private\launch.cpp:168]
UE4Editor!GuardedMainWrapper() [d:\build\release-4.22\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\build\release-4.22\engine\source\runtime\launch\private\windows\launchwindows.cpp:275]
UE4Editor!__scrt_common_main_seh() [d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Have Comments or More Details?

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

1
Login to Vote

Fixed
ComponentUE - Anim - Sequencer
Affects Versions4.22.3
Target Fix4.24
Fix Commit9161522
Main Commit9325047
Release Commit9552237
CreatedAug 13, 2019
ResolvedSep 26, 2019
UpdatedNov 18, 2019