How to hide the BlueprintCallable UFUNCTION from showing up in a search results?


I’m creating a UBlueprintFunctionLibrary with custom C++ functions and some of those functions are helpers that later I only use inside of Blueprint Macros to create more complex logic.
These helpers are not meant to be used anywhere else so I’m looking for a way of hiding them from appearing inside of searching box.

Is this somehow possible?
If not is there any workaround to this problem?

Let me know if my question is not understandable enough.
I’ll apriciate any help :slight_smile:

I think best you can do - just put these functions in some new category like “zFunctions”, so it will be at the bottom of the search list.

1 Like

I’m actually using this approach right now but it doesn’t really fit in my needs because end-user is still able to accidentally access these functions.
Thanks for the suggestion tho

A Blueprint Macro counts as “the End User” – there is no such thing as “hidden” or “system” blueprints separate from “creator / end user” blueprints.

You might want to instead make your macros be full C++ functions, so you don’t need to expose the intermediate functions?

1 Like

Hey @jwatte,

I’m not sure if this is possible in my case.
I need to execute some logic in C++, then in Blueprints, and then go back to C++ again.
I fought that combining this inside of Macro is the way to go but if there is any known solution that would allow me to move whole logic to C++ I wouldn’t hesitate to use it.

This needs to work in a similiar way to how loops work in Blueprints.

That is possible to translate to C++, but it’s not pretty or simple.

However, that looks quite fragile, because it depends on the exact number of invocations matching up for begin/end. It’s generally much more robust to just have two different functions for the “begin” and “end” states/events anyway.

1 Like

Not sure why I haven’t found it in the first place
but BlueprintInternalUseOnly UFUNCTION Specifier is exacly what I was looking for:

After implementing these functions (Begin Main Window / End Main Window), I just added BlueprintInternalUseOnly Specifier to their declarations, and now they are not appearing in the search result but I still can use macro in which I used them.

1 Like