Hiding Blueprint Action (Functions / Nodes) Categories for a Blueprint Event Graph

Goal
I want to be able to restrict the amount of the globally shown Nodes / Functions in the editor only for a specific class that can have Blueprint event graphs. The “meta” tag would seem to be the right one for specifying this but this kind of functionality does not seem present yet.

Purpose
The reason for this is that I want to do that is to restrict usage of nodes in this specific type of assets, which should not ever have any nodes in use that aren’t protected/privates ones of said class. Our team decided this would be the safest and least error-prone option for our workflow.

Description
When you right click an event graph in your BP asset you will find a context menu with a list of functions similar to the one in the image below:
editor_screenshot.png

We want to only see certain categories of nodes here that we want to be able to specify.

Would this be a meaningful feature in your opinion? Is there any workaround for this? Any way I can easily add this to the engine myself?

1 Like

It’s all in SGraphActionMenu.cpp



void SGraphActionMenu::GenerateFilteredItems(...)
{
// ...
}


So you can modify the filtering there, but it’s not what I would call easy unless you know what you’re doing. Also, modifying the engine puts you in an annoying place of having to upkeep those modifications through engine versions. I would likely just submit this as a feature request and see if Epic wants to toss it in - unless you’re willing to do all the upkeep and initial work yourself.

Thanks for the hint to the code, that’s a good start.

Where would I submit this as a feature request? Or did you mean pull request on github?

UE4 Feedback on the forums, or do it yourself and issue a pull request.

Is there a new UE setting now in 2024, since the original post, which i dont know about? Iam new to the engine and its just too much nodes. I’d like to filter at least the eye tracking, android, etc categories which iam pretty sure i wont use in the next decade.

The project I worked on got cancelled and I made a new private one that didn’t “need” this yet so I didn’t create a PR or feature request for it.

But funny that you ask about it because some days ago I saw in 4.27 an 5.X There is this class specifier:

HideFunctions=(Category1, Category2, ...) Hides all functions in the specified category from the user entirely.

HideFunctions=FunctionName Hides the named functions from the user entirely.

I was going to try it but didn’t need it yet. Tell me if it works I would love to know