Subclassing EdGraphNode is actually not the correct way to create a new custom node for your Blueprints. I’ll make myself a note to see if we can get in touch with the User who created this tutorial to get it updated.
The preferred method for accomplishing this task is actually somewhat simpler. You just need to add the function for your node to an existing Actor class (it may work with any class, but I always use Actor classes), or create a new class just for the node. Add the UFUNCTION macro and declaration to the class header file and the function definition to the class source file, build the project in Visual Studio, and your new node will be available in your Blueprint. Be aware of the access specifier you are using, though. If you create the function as a private function, then only Blueprints made from that class will be able to use the node. If you make the function public, any Blueprint will be able to use the node.
For example, I just created a new code project using the First Person template. I opened the default character class header file and added the following code under a public: access specifier:
I then built the project in Visual Studio and re-opened it in the Editor. I opened the level Blueprint, added a Begin Play node that executed a Print String node, then searched for and added my new node and wired it into the In String pin on the Print String node.
Starting PIE mode yielded a “Hello World” message in the top left corner of the viewport.