Creating a new animation node

I’d like to introduce a new type of animation node.

I created a stub class that derives from FAnimNode_SkeletalControlBase:

USTRUCT()
struct FAnimNode_LegsWalk : public FAnimNode_SkeletalControlBase
{
   GENERATED_USTRUCT_BODY();
    
   FAnimNode_LegsWalk() {}

   virtual void GatherDebugData( FNodeDebugData& DebugData ) override {}
   virtual void EvaluateBoneTransforms( USkeletalMeshComponent* SkelComp, const FBoneContainer& RequiredBones, FA2CSPose& MeshBases, TArray<FBoneTransform>& OutBoneTransforms ) override {}
   virtual bool IsValidToEvaluate( const USkeleton* Skeleton, const FBoneContainer& RequiredBones ) override {}
  
private:
   virtual void InitializeBoneReferences( const FBoneContainer& RequiredBones ) override {}
};

It’s really just an empty class at this point, a part of my game’s custom module. The thing is - after I compile it and run the editor, it doesn’t show up in the animation nodes menu.

How do I get it to register correctly?
My guess is that I’m missing some glue code here.

Could anyone tell me what it is?

Thanks

According to the Animation Node Technical Guide you also have implement a UAnimGraphNode which handles the functionality of the node in the AnimGraph.

There are is also a more in depth community tutorial here.

If you want to ship your game with the custom AnimGrapNode you should also take a look at this.