Error with creating new AnimGraphNode (Unresolved External Symbol)

1>Module.OrientationWarpingEditor.cpp.obj : error LNK2019: unresolved external symbol “__declspec(dllimport) public: __cdecl FBlueprintNodeSignature::FBlueprintNodeSignature(class TSubclassOf)” (_imp??0FBlueprintNodeSignature@@QEAA@V?$TSubclassOf@VUEdGraphNode@@@@@Z) referenced in function "public: virtual struct FBlueprintNodeSignature __cdecl UK2Node::GetSignature(void)const " (?GetSignature@UK2Node@@UEBA?AUFBlueprintNodeSignature@@anonymous_user_9674a66c)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “__declspec(dllimport) public: __cdecl FBlueprintNodeSignature::FBlueprintNodeSignature(class TSubclassOf)” (_imp??0FBlueprintNodeSignature@@QEAA@V?$TSubclassOf@VUEdGraphNode@@@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::AutowireNewNode(class UEdGraphPin *)” (?AutowireNewNode@UK2Node@@UEAAXPEAVUEdGraphPin@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::AutowireNewNode(class UEdGraphPin *)” (?AutowireNewNode@UK2Node@@UEAAXPEAVUEdGraphPin@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl UK2Node::CanSplitPin(class UEdGraphPin const *)const " (?CanSplitPin@UK2Node@@UEBA_NPEBVUEdGraphPin@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl UK2Node::CanSplitPin(class UEdGraphPin const *)const " (?CanSplitPin@UK2Node@@UEBA_NPEBVUEdGraphPin@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::ConvertDeprecatedNode(class UEdGraph *,bool)” (?ConvertDeprecatedNode@UK2Node@@UEAAXPEAVUEdGraph@@_N@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::ConvertDeprecatedNode(class UEdGraph *,bool)” (?ConvertDeprecatedNode@UK2Node@@UEAAXPEAVUEdGraph@@_N@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FNodeHandlingFunctor * __cdecl UK2Node::CreateNodeHandler(class FKismetCompilerContext &)const " (?CreateNodeHandler@UK2Node@@UEBAPEAVFNodeHandlingFunctor@@AEAVFKismetCompilerContext@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FNodeHandlingFunctor * __cdecl UK2Node::CreateNodeHandler(class FKismetCompilerContext &)const " (?CreateNodeHandler@UK2Node@@UEBAPEAVFNodeHandlingFunctor@@AEAVFKismetCompilerContext@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual enum UK2Node::ERedirectType __cdecl UK2Node::DoPinsMatchForReconstruction(class UEdGraphPin const *,int,class UEdGraphPin const *,int)const " (?DoPinsMatchForReconstruction@UK2Node@@MEBA?AW4ERedirectType@1@PEBVUEdGraphPin@@H0H@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual enum UK2Node::ERedirectType __cdecl UK2Node::DoPinsMatchForReconstruction(class UEdGraphPin const *,int,class UEdGraphPin const *,int)const " (?DoPinsMatchForReconstruction@UK2Node@@MEBA?AW4ERedirectType@1@PEBVUEdGraphPin@@H0H@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl UK2Node::DoesInputWildcardPinAcceptArray(class UEdGraphPin const *)const " (?DoesInputWildcardPinAcceptArray@UK2Node@@UEBA_NPEBVUEdGraphPin@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl UK2Node::DoesInputWildcardPinAcceptArray(class UEdGraphPin const *)const " (?DoesInputWildcardPinAcceptArray@UK2Node@@UEBA_NPEBVUEdGraphPin@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl UK2Node::EarlyValidation(class FCompilerResultsLog &)const " (?EarlyValidation@UK2Node@@UEBAXAEAVFCompilerResultsLog@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl UK2Node::EarlyValidation(class FCompilerResultsLog &)const " (?EarlyValidation@UK2Node@@UEBAXAEAVFCompilerResultsLog@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::ExpandNode(class FKismetCompilerContext &,class UEdGraph *)” (?ExpandNode@UK2Node@@UEAAXAEAVFKismetCompilerContext@@PEAVUEdGraph@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::ExpandNode(class FKismetCompilerContext &,class UEdGraph *)” (?ExpandNode@UK2Node@@UEAAXAEAVFKismetCompilerContext@@PEAVUEdGraph@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FName __cdecl UK2Node::GetCornerIcon(void)const " (?GetCornerIcon@UK2Node@@UEBA?AVFName@@anonymous_user_9674a66c)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FName __cdecl UK2Node::GetCornerIcon(void)const " (?GetCornerIcon@UK2Node@@UEBA?AVFName@@anonymous_user_9674a66c)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class UClass * __cdecl UK2Node::GetDynamicBindingClass(void)const " (?GetDynamicBindingClass@UK2Node@@UEBAPEAVUClass@@anonymous_user_9674a66c)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class UClass * __cdecl UK2Node::GetDynamicBindingClass(void)const " (?GetDynamicBindingClass@UK2Node@@UEBAPEAVUClass@@anonymous_user_9674a66c)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl UK2Node::GetNodeRefreshPriority(void)const " (?GetNodeRefreshPriority@UK2Node@@UEBAHXZ)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl UK2Node::GetNodeRefreshPriority(void)const " (?GetNodeRefreshPriority@UK2Node@@UEBAHXZ)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class UEdGraphPin * __cdecl UK2Node::GetPassThroughPin(class UEdGraphPin const *)const " (?GetPassThroughPin@UK2Node@@UEBAPEAVUEdGraphPin@@PEBV2@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class UEdGraphPin * __cdecl UK2Node::GetPassThroughPin(class UEdGraphPin const *)const " (?GetPassThroughPin@UK2Node@@UEBAPEAVUEdGraphPin@@PEBV2@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual class FString __cdecl UK2Node::GetPinMetaData(class FName,class FName)” (?GetPinMetaData@UK2Node@@UEAA?AVFString@@VFName@@anonymous_user_f2147170@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual class FString __cdecl UK2Node::GetPinMetaData(class FName,class FName)” (?GetPinMetaData@UK2Node@@UEAA?AVFString@@VFName@@anonymous_user_f2147170@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl UK2Node::GetRedirectPinNames(class UEdGraphPin const &,class TArray<class FString,class FDefaultAllocator> &)const " (?GetRedirectPinNames@UK2Node@@MEBAXAEBVUEdGraphPin@@AEAV?$TArray@VFString@@VFDefaultAllocator@@@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "protected: virtual void __cdecl UK2Node::GetRedirectPinNames(class UEdGraphPin const &,class TArray<class FString,class FDefaultAllocator> &)const " (?GetRedirectPinNames@UK2Node@@MEBAXAEBVUEdGraphPin@@AEAV?$TArray@VFString@@VFDefaultAllocator@@@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FText __cdecl UK2Node::GetToolTipHeading(void)const " (?GetToolTipHeading@UK2Node@@UEBA?AVFText@@anonymous_user_9674a66c)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual class FText __cdecl UK2Node::GetToolTipHeading(void)const " (?GetToolTipHeading@UK2Node@@UEBA?AVFText@@anonymous_user_9674a66c)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl UK2Node::IsConnectionDisallowed(class UEdGraphPin const *,class UEdGraphPin const *,class FString &)const " (?IsConnectionDisallowed@UK2Node@@UEBA_NPEBVUEdGraphPin@@0AEAVFString@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl UK2Node::IsConnectionDisallowed(class UEdGraphPin const *,class UEdGraphPin const *,class FString &)const " (?IsConnectionDisallowed@UK2Node@@UEBA_NPEBVUEdGraphPin@@0AEAVFString@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl UK2Node::IsInDevelopmentMode(void)const " (?IsInDevelopmentMode@UK2Node@@UEBA_NXZ)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl UK2Node::IsInDevelopmentMode(void)const " (?IsInDevelopmentMode@UK2Node@@UEBA_NXZ)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::PinConnectionListChanged(class UEdGraphPin *)” (?PinConnectionListChanged@UK2Node@@UEAAXPEAVUEdGraphPin@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::PinConnectionListChanged(class UEdGraphPin *)” (?PinConnectionListChanged@UK2Node@@UEAAXPEAVUEdGraphPin@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::PostLoad(void)” (?PostLoad@UK2Node@@UEAAXXZ)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::PostLoad(void)” (?PostLoad@UK2Node@@UEAAXXZ)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::PostReconstructNode(void)” (?PostReconstructNode@UK2Node@@UEAAXXZ)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::PostReconstructNode(void)” (?PostReconstructNode@UK2Node@@UEAAXXZ)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::PreloadRequiredAssets(void)” (?PreloadRequiredAssets@UK2Node@@UEAAXXZ)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::PreloadRequiredAssets(void)” (?PreloadRequiredAssets@UK2Node@@UEAAXXZ)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::ReconstructNode(void)” (?ReconstructNode@UK2Node@@UEAAXXZ)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::ReconstructNode(void)” (?ReconstructNode@UK2Node@@UEAAXXZ)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl UK2Node::RegisterDynamicBinding(class UDynamicBlueprintBinding *)const " (?RegisterDynamicBinding@UK2Node@@UEBAXPEAVUDynamicBlueprintBinding@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl UK2Node::RegisterDynamicBinding(class UDynamicBlueprintBinding *)const " (?RegisterDynamicBinding@UK2Node@@UEBAXPEAVUDynamicBlueprintBinding@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual enum ERenamePinResult __cdecl UK2Node::RenameUserDefinedPin(class FName,class FName,bool)” (?RenameUserDefinedPin@UK2Node@@UEAA?AW4ERenamePinResult@@VFName@@0_N@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual enum ERenamePinResult __cdecl UK2Node::RenameUserDefinedPin(class FName,class FName,bool)” (?RenameUserDefinedPin@UK2Node@@UEAA?AW4ERenamePinResult@@VFName@@0_N@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::Serialize(class FArchive &)” (?Serialize@UK2Node@@UEAAXAEAVFArchive@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::Serialize(class FArchive &)” (?Serialize@UK2Node@@UEAAXAEAVFArchive@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::Serialize(class FStructuredArchive::FRecord)” (?Serialize@UK2Node@@UEAAXVFRecord@FStructuredArchive@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol “public: virtual void __cdecl UK2Node::Serialize(class FStructuredArchive::FRecord)” (?Serialize@UK2Node@@UEAAXVFRecord@FStructuredArchive@@@Z)
1>Module.OrientationWarpingEditor.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl UK2Node::ValidateNodeDuringCompilation(class FCompilerResultsLog &)const " (?ValidateNodeDuringCompilation@UK2Node@@UEBAXAEAVFCompilerResultsLog@@@Z)
1>Module.OrientationWarpingEditor.gen.cpp.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl UK2Node::ValidateNodeDuringCompilation(class FCompilerResultsLog &)const " (?ValidateNodeDuringCompilation@UK2Node@@UEBAXAEAVFCompilerResultsLog@@@Z)

I have been stuck with this issue for over a month and still can’t resolve it… Can anyone please help me with this, how I can fix it?

Small recap of what’s needed for an custom anim node

  • one runtime module with :

PublicDependencyModuleNames => “AnimGraphRuntime”
a USTRUCT extending FAnimNode_Base

  • one editor module with
    PublicDependencyModuleNames => “AnimGraphRuntime”, “AnimGraph”,
    Private/Public IncludePaths => the runtime module path

a UCLASS extending UAnimGraphNode_Base

i think your problem come from the Dependency missing, but without more infos on your actual module structure/ code, hard to say more

1 Like

Hi, I’m a beginner myself, for the issue found that the missing symbol is part of the: C:\Program Files\Epic\Games\UE_4.23\Engine\Source\Editor\BlueprintGraph\Classes\UK2Node.h, from failed logs we have:
unresolved external symbol "public: virtual class FNodeHandlingFunctor * __cdecl UK2Node::CreateNodeHandler
Editing the **<project file>**.uproject and adding the BlueprintGraph as additional dependency did solved the issue

{
	"FileVersion": 3,
	"EngineAssociation": "4.23",
	"Category": "",
	"Description": "",
	"Modules": [
		{
			"Name": "NewProject",
			"Type": "Runtime",
			"LoadingPhase": "Default",
      "AdditionalDependencies": [
        "Engine",
        "AnimGraph",
        "BlueprintGraph"
      ]
		}
	]
}

I have generated the class via Editor: Documents\Unreal Projects\NewProject\Source\NewProject\NewAnimGraphNode_SkControlBase.h

Denis

PublicDependencyModuleNames.AddRange(new string { “AnimGraph”, “AnimGraphRuntime”, “BlueprintGraph” });