Quick answer: Unreal BlueprintFunctionLibrary functions invisible in C++ IntelliSense or linker complaining? The function must be static, in a class derived from UBlueprintFunctionLibrary, and marked UFUNCTION(BlueprintCallable).
An attempt to call UMyLib::DoThing() from C++ produces “unresolved external”. The function isn’t static, or the header isn’t included.
Static + UFUNCTION
UCLASS()
class UMyLib : public UBlueprintFunctionLibrary {
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, Category="Game")
static int32 Compute(int32 Input);
};
Header Path
Include the lib’s header in the calling .cpp. Cross-module calls need the module added to PublicDependencyModuleNames in your .Build.cs.
API Export
Functions in DLL modules need YOURMODULE_API on the class. Without it, the linker can’t see the static methods from outside the module.
Static Means Static
Non-static methods on a function library don’t make sense for the BP exposure pattern. If your method needs instance state, use a separate Subsystem instead.
Verifying
C++ code calls library functions successfully. Blueprints see and call the same functions.
“UBlueprintFunctionLibrary statics need UFUNCTION + module API + included header.”
Function libraries that grow stateful belong as Subsystems — convert before complexity grows.