Custom AnimGraphNode Seems To Cause Development Build to Crash At Startup

I have much simpler setup with a sample project provided in the following post:

Closing out this one - cause the new one is a bit simpler to follow.

EDIT
Figured out the issue - input to my animation node and the output as declared in the animation graph node had the same name. This will cause the program to crash when running a packaged build.

Hi,

I’ve got a plugin with two modules → an “Editor” type module for encapsulating my custom AnimGraphNode and a “Runtime” type module for encapsulating my custom AnimNode class.

Program runs as expected when executed from within the Editor. If I remove all references to my custom AnimGraphNode in my level, then the development build also runs and interfaces with my plugin as expected.

The crash I’m encountering seems to occur regardless of whether my custom AnimGraphNode references the custom AnimNode or one of AnimNode subclasses defined in the Engine source (i.e. FAnimNode_SkeletalControlBase).

The error that I get when using either the custom AnimNode or built-in AnimNode is the following:

Fatal error: [File:D:\Build\++UE4+Release-4.16+Compile\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp] [Line: 435] 
Unknown code token FF
	test_anim_bp_C /Game/StarterContent/Maps/Minimal_Default.Minimal_Default:PersistentLevel.ladies03_outer_2.SkeletalMeshComponent0.test_anim_bp_C_0
	Function /Game/ClothingAssets/ModelData/Ladies03/test_anim_bp.test_anim_bp_C:ExecuteUbergraph_test_anim_bp:0039
	Script call stack:
	Function /Game/ClothingAssets/ModelData/Ladies03/test_anim_bp.test_anim_bp_C:EvaluateGraphExposedInputs_ExecuteUbergraph_test_anim_bp_AnimGraphNode_QincKinectAnimNode_57B959F446D77BB790628DB60BA1F82F
	Function /Game/ClothingAssets/ModelData/Ladies03/test_anim_bp.test_anim_bp_C:ExecuteUbergraph_test_anim_bp

The source code to the AnimGraphNode is below as well:

Header file:

UCLASS(BlueprintType, Blueprintable)
class QINCEDITOR_API UAnimGraphNode_QincKinectAnimNode : public UAnimGraphNode_Base
{
	GENERATED_UCLASS_BODY()

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Links)
	FAnimNode_SkeletalControlBase Node;

public:

	virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override;
	virtual FLinearColor GetNodeTitleColor() const override;
	virtual FString GetNodeCategory() const override;
	virtual void CreateOutputPins() override;

protected:
	virtual FString GetControllerDescription() const;
};

.cpp file:

UAnimGraphNode_QincKinectAnimNode::UAnimGraphNode_QincKinectAnimNode(FObjectInitializer const & PCIP)
: Super(PCIP)
{
}

FText
UAnimGraphNode_QincKinectAnimNode::GetNodeTitle(ENodeTitleType::Type TitleType) const
{
	FString Result = GetControllerDescription();
	Result += (TitleType == ENodeTitleType::ListView) ? TEXT("") : TEXT("\n");
	return FText::FromString(Result);
}

FLinearColor
UAnimGraphNode_QincKinectAnimNode::GetNodeTitleColor() const
{
	return FLinearColor(0, 12, 12, 1);
}

FString
UAnimGraphNode_QincKinectAnimNode::GetNodeCategory() const
{
	return FString("Anim Node Category");
}

FString
UAnimGraphNode_QincKinectAnimNode::GetControllerDescription() const
{
	return TEXT("Qinc Kinect-based Animation Controller");
}


void
UAnimGraphNode_QincKinectAnimNode::CreateOutputPins()
{
	const UAnimationGraphSchema* Schema = GetDefault<UAnimationGraphSchema>();
	//CreatePin(EGPD_Output, Schema->PC_Struct, TEXT(""), FComponentSpacePoseLink::StaticStruct(),  false, false, TEXT("ComponentPose"));
	CreatePin(EGPD_Output, Schema->PC_Struct, TEXT(""), FComponentSpacePoseLink::StaticStruct(), /*bIsArray=*/ false, /*bIsReference=*/ false, TEXT("ComponentPose"));
}

And the description to the module containing the custom anim graph node is as follows:

 26       {
 27             "Name" : "QincEditor",
 28             "Type" : "Editor",
 29             "LoadingPhase" : "Default",
 30             "WhitelistPlatforms" : ["Win64"]
 31         }

I’ve tried experimenting with different LoadingPhases, but to no avail.

If anyone has any suggestions or ideas, I’d be very grateful!

Cheers,