No announcement yet.

Any method to extend context menu (right mouse click) of an AnimGraphNode?

  • Filter
  • Time
  • Show
Clear All
new posts

    Any method to extend context menu (right mouse click) of an AnimGraphNode?

    Hello everyone.

    My goal :
    FAnimNode_BlendSpacePlayer* BlendSpaceNode;
    BlendSpaceNode->GetCurrentAssetLength(); ← not this
    BlendSpaceNode->GetCurrentAssetTime(); ← not this either
    BlendSpaceNode->GetCurrentAsset();← I need this one, I need the current UAnimSequence

    1st, I derived and created my own FAnimNode_BlendSpacePlayer (so I can create my own GetCurrentAsset function), but it won't show up when I right click on the BluePrint Graph panel.
    The I noticed... the node cannot be created, it's generated from UBlendSpace.

    So, I tried to derive UBlendSpace. Spent days and... unless I mod the engine, no luck.

    Then I discovered this "Convert To Single Frame BlendSpace" and so I thought... What if I can "Convert To My Own BlendSpace"?

    I followed the lead to FAnimationBlueprintEditor::OnConvertToBlendSpaceEvaluator(), UAnimGraphNode_BlendSpacePlayer::GetContextMenuActions(), and FBlueprintEditor::CreateGraphEditorWidget().
    Dug around engine codes... I've no idea how to extend UAnimGraphNode_BlendSpacePlayer's context menu from outside the class.

    So, I looked around online. Blutilities? Prob not... IModuleInterface? FModuleManager? Don't know how to use'em because of lack of documentation and sample codes for me to compare, analysis and experiment on.

    Maybe Engine mod is the only solution?

    If someone could point me to the right direction I'd appreciate. Thanks!
    Last edited by Hirox.; 07-20-2019, 11:38 PM.