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.