In normal blueprints, isolated nodes do not cause compilation to fail because they will never be executed. In animation blueprints, event graph nodes will cause compilation to fail despite being isolated. The attached repro is a contrived way to get an invalid node into an animation blueprint event graph, but we have custom blueprint nodes perform validations from ValidateNodeDuringCompilation.
I’ve tracked the issue down to the fact that the function `FAnimBlueprintCompilerContext::ProcessAllAnimationNodes` calls `ValidateGraphIsWellFormed` during the `MergeUbergraphPagesIn` step of `FKismetCompilerContext::CreateAndProcessUbergraph`. At this time, isolated event graph nodes have not yet been pruned by a call to `PruneIsolatedNodes`. This happens later in `ExpansionStep`. The result is that `ValidateNodeDuringCompilation` is called on isolated event graph nodes, which is not correct behavior.
I’m not sure what a correct fix to this looks like, but on my end I’m attempting to replace the `ValidateGraphIsWellFormed` call with a function that only validates nodes that are derived from `UAnimGraphNode_Base`.