I managed to fix it myself by accident. For the function to show up in your right click menu, you need to add the BlueprintCallable specifier in UFUNCTION macro
UCLASS()
class PINNEDASSET_API UPinAssetAction : public UAssetActionUtility
{
GENERATED_BODY()
public:
UFUNCTION(CallInEditor, BlueprintCallable)
void Generate();
};