UFUNCTION()
are useful because they are C++ functions that can be called from both your C++ client code as well as Blueprints diagrams. Any C++ function can be marked as a UFUNCTION()
.
UClass
with a member function that you'd like to expose to Blueprints. Decorate that member function with UFUNCTION( BlueprintCallable, Category=SomeCategory)
to make it callable from Blueprints. For example, the following is the Warrior
class again:// Warrior.h class WRYV_API AWarrior : public AActor { GENERATED_BODY() public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Properties) FString Name; UFUNCTION(BlueprintCallable, Category = Properties) FString ToString(); }; // Warrior.cpp FString UProfile::ToString() { return FString::Printf( "An instance of UProfile: %s", *Name ); }
Warrior
class by dragging an instance on to your game world.ToString()
function on that Warrior
instance by clicking on your Warrior
instance. Then, in a Blueprints diagram, type in ToString()
. It should look like in the following screenshot:18.119.103.204