Unreal Engine 5._

[Unreal Engine] Forum : Blueprint access C++ static function

ruru14 2023. 1. 26. 16:56

C++의 함수를 블루프린트에서 사용하려면, 다음과 같이 UFUNCTION매크로에 BlueprintCallable인자를 넣어주면 됩니다.

UFUNCTION(BlueprintCallable)
void Function();

이 함수는 이제 블루프린트에서 호출할 수 있는 함수가 되어, 다음과 같이 사용할 수 있습니다.

하지만 이 경우 호출하려는 주체 (인스턴스)가 필요합니다.

 

다른 블루프린트 함수처럼 인스턴스 없이 작동하는 함수를 만드는 방법을 찾아보았고, 그 내용을 공유하려 합니다.

Can I create a static function in C++ which I can access from any Blueprint?

 


 

당연하겠지만, 정답은 함수를 static으로 선언하는 것 이었습니다.

MyActor.h

UFUNCTION(BlueprintCallable, Category = "MyFunction")
static void MyFunction(int32 Input);

블루프린트 노출
사용

.cpp및 .h에 MyFunction을 static으로 선언, 구현하면 위와 같이 인스턴스 없이 사용할 수 있습니다.

 


 

감사합니다.