Casting to a character class inside of AnimBlueprint after a hot reload caused editor to crash
Crash Reporter:
[Link Removed]
Additionally, Casts fail, breaking AnimBlueprint after a hot reload
1. Create new Code based project (third person template)
2. Add code to project based on Character
3. Add the following to the header file of the class:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = others)
USkeletalMesh* skeleMesh;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = others)
bool returnThis;
UFUNCTION(BlueprintCallable, Category = others)
bool ImLovinIt() const;
4. Add the following to the source file of the class:
bool AMyCharacter::ImLovinIt() const { return returnThis; }
5. Compile
6. Create a new blueprint based off of the custom class
7. Add a skeletal mesh to the skeletal mesh component
8. Create a new AnimBlueprint
9. In the event graph pull off from "Try Get Pawn Owner" and create a cast to the custom class
10. In VS, add the following to trigger hot reload
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = others) bool returnThis;
11. Compile in VS or the editor
12. In the AnimBlueprint, drag off of "Try Get Pawn Owner" and create a cast to node for custom class
Result:
Editor will crash
Assertion failed: (TargetType == NULL) || (!TargetType->HasAnyClassFlags(CLASS_NewerVersionExists)) [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.7\Engine\Source\Editor\BlueprintGraph\Private\K2Node_DynamicCast.cpp] [Line: 26] KERNELBASE.dll!UnknownFunction (0x000007fefd35940d) + 0 bytes [UnknownFile:0] UE4Editor-Core.dll!FOutputDeviceWindowsError::Serialize() (0x000007fede658014) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95] UE4Editor-Core.dll!FOutputDevice::Logf__VA() (0x000007fede4d7818) + 159 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:144] UE4Editor-Core.dll!FDebug::AssertFailed() (0x000007fede4b8b17) + 62 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\misc\outputdevice.cpp:224] UE4Editor-BlueprintGraph.dll!UK2Node_DynamicCast::AllocateDefaultPins() (0x000007fed7db5570) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\blueprintgraph\private\k2node_dynamiccast.cpp:28] UE4Editor-BlueprintGraph.dll!UBlueprintNodeSpawner::SpawnEdGraphNode() (0x000007fed7d37427) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\blueprintgraph\private\blueprintnodespawner.cpp:283] UE4Editor-BlueprintGraph.dll!UBlueprintNodeSpawner::SpawnNode<UEdGraphNode>() (0x000007fed7cb3b69) + 63 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\blueprintgraph\public\blueprintnodespawner.h:237] UE4Editor-BlueprintGraph.dll!UBlueprintNodeSpawner::Invoke() (0x000007fed7d1e3ed) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\blueprintgraph\private\blueprintnodespawner.cpp:229] UE4Editor-Kismet.dll!FBlueprintActionMenuItem::PerformAction() (0x000007fed66f8460) + 33 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\kismet\private\blueprintactionmenuitem.cpp:153] UE4Editor-Kismet.dll!FBlueprintActionMenuItem::PerformAction() (0x000007fed66f7cc8) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\kismet\private\blueprintactionmenuitem.cpp:202] UE4Editor-Kismet.dll!SBlueprintActionMenu::OnActionSelected() (0x000007fed68301ad) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\kismet\private\sblueprintactionmenu.cpp:467] UE4Editor-Kismet.dll!TBaseSPMethodDelegateInstance<0,SBlueprintActionMenu,0,TTypeWrapper<void> __cdecl(TArray<TSharedPtr<FEdGraphSchemaAction,0>,FDefaultAllocator> const & __ptr64)>::Execute() (0x000007fed67eda4c) + 35 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282] UE4Editor-GraphEditor.dll!SGraphActionMenu::HandleSelection() (0x000007fed8429da9) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\grapheditor\private\sgraphactionmenu.cpp:1313] UE4Editor-GraphEditor.dll!SGraphActionMenu::TryToSpawnActiveSuggestion() (0x000007fed84a51e5) + 66 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\editor\grapheditor\private\sgraphactionmenu.cpp:891] UE4Editor-GraphEditor.dll!TBaseSPMethodDelegateInstance<0,SGraphActionMenu,0,TTypeWrapper<void> __cdecl(FText const & __ptr64,enum ETextCommit::Type)>::Execute() (0x000007fed83ebe17) + 38 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282] UE4Editor-GraphEditor.dll!TBaseSPMethodDelegateInstance<0,SGraphActionMenu,0,void __cdecl(FText const & __ptr64,enum ETextCommit::Type)>::ExecuteIfSafe() (0x000007fed83efef7) + 14 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388] UE4Editor-Slate.dll!SSearchBox::HandleTextCommitted() (0x000007fedb105c18) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\widgets\input\ssearchbox.cpp:153] UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<0,SSearchBox,0,TTypeWrapper<void> __cdecl(FText const & __ptr64,enum ETextCommit::Type)>::Execute() (0x000007fedb0f4107) + 38 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:282] UE4Editor-Slate.dll!TBaseSPMethodDelegateInstance<0,SSearchBox,0,void __cdecl(FText const & __ptr64,enum ETextCommit::Type)>::ExecuteIfSafe() (0x000007fedb0f57d7) + 14 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\public\delegates\delegateinstancesimpl_variadics.inl:388] UE4Editor-Slate.dll!SEditableText::OnEnter() (0x000007fedb119969) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\widgets\input\seditabletext.cpp:973] UE4Editor-Slate.dll!FTextEditHelper::OnKeyDown() (0x000007fedb05c6e8) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\framework\text\textedithelper.cpp:173] UE4Editor-Slate.dll!SEditableText::OnKeyDown() (0x000007fedb11c21c) + 74 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\widgets\input\seditabletext.cpp:1628] UE4Editor-Slate.dll!<lambda_01b95f45d99b75c93c453dee9d82570e>::operator()() (0x000007fedaf3c872) + 38 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3581] UE4Editor-Slate.dll!FEventRouter::Route<FReply,FEventRouter::FBubblePolicy,FKeyEvent,<lambda_01b95f45d99b75c93c453dee9d82570e> >() (0x000007fedaef6e4d) + 21 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:202] UE4Editor-Slate.dll!FEventRouter::RouteAlongFocusPath<FEventRouter::FBubblePolicy,<lambda_01b95f45d99b75c93c453dee9d82570e>,FKeyEvent>() (0x000007fedaef894a) + 52 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:184] UE4Editor-Slate.dll!FSlateApplication::ProcessKeyDownEvent() (0x000007fedafa3e6d) + 93 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3582] UE4Editor-Slate.dll!FSlateApplication::OnKeyDown() (0x000007fedaf93798) + 14 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:3517] UE4Editor-Core.dll!FWindowsApplication::ProcessDeferredMessage() (0x000007fede5b35f0) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsapplication.cpp:1229] UE4Editor-Core.dll!FWindowsApplication::DeferMessage() (0x000007fede5a5cce) + 74 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsapplication.cpp:1669] UE4Editor-Core.dll!FWindowsApplication::ProcessMessage() (0x000007fede5b4cf0) + 41 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsapplication.cpp:742] UE4Editor-Core.dll!FWindowsApplication::AppWndProc() (0x000007fede5a3132) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsapplication.cpp:604] USER32.dll!UnknownFunction (0x0000000077179bd1) + 0 bytes [UnknownFile:0] USER32.dll!UnknownFunction (0x00000000771798da) + 0 bytes [UnknownFile:0] UE4Editor-Core.dll!FWindowsPlatformMisc::PumpMessages() (0x000007fede653e66) + 48 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\core\private\windows\windowsplatformmisc.cpp:774] UE4Editor.exe!FEngineLoop::Tick() (0x000000013f0400a9) + 8 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launchengineloop.cpp:2233] UE4Editor.exe!GuardedMain() (0x000000013f03267c) + 0 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\launch.cpp:142] UE4Editor.exe!GuardedMainWrapper() (0x000000013f0326ea) + 5 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:126] UE4Editor.exe!WinMain() (0x000000013f042219) + 17 bytes [d:\buildfarm\buildmachine_++depot+ue4-releases+4.7\engine\source\runtime\launch\private\windows\launchwindows.cpp:202] UE4Editor.exe!__tmainCRTStartup() (0x000000013f043159) + 21 bytes [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618] kernel32.dll!UnknownFunction (0x00000000770559ed) + 0 bytes [UnknownFile:0] ntdll.dll!UnknownFunction (0x000000007728c541) + 0 bytes [UnknownFile:0] ntdll.dll!UnknownFunction (0x000000007728c541) + 0 bytes [UnknownFile:0]
Head over to the existing Questions & Answers thread and let us know what's up.
0 |
Component | OLD - Anim |
---|---|
Affects Versions | 4.7.3 |
Target Fix | 4.8 |
Fix Commit | 2505590 |
---|
Created | Mar 31, 2015 |
---|---|
Resolved | Apr 8, 2015 |
Updated | May 18, 2020 |