본문 바로가기
언리얼5 & C++

[Unreal 5, C++] 언리얼 C++에서 변수를 에디터에 보이게 하는법 / C++ 변수 블루프린트에서 호출하기 : UPROPERTY, UFUNCTION

by 17번 일개미 2022. 6. 18.
728x90

변수 선언 시에 UPROPERTY를 사용하면 에디터에서 내가 선언한 변수를 볼 수 있다.

UPROPERTY(EditAnywhere) // 에디터에서 수정가능
int32 HP;
UPROPERTY(VisibleAnywhere) // 에디터에서 보기만 가능
float Speed;

 

블루프린트에서 C++변수를 사용하기 위해서는 다음 두가지가 쓰인다.

UPROPERTY(BlueprintReadWrite) // 읽기 쓰기 가능
bool IsWalking;

UFUNCTION(BlueprintReadOnly) // 읽기 전용
void Move();

UFUNCTION은 C++함수를 블루프린트에서 사용가능하게 만들어준다!

 

다만 주의 점은 원인은 아직 잘 모르겠지만 특정 함수 내에서 특정 변수 값을 변경할 때 그 변수가 UPROPERTY의 변수라면 함수도 UFUNCTION 이어야 에디터가 강제종료 되지 않는다. 원인을 못 찾다가 언리얼 포럼에서 외국인이 답변해 준 얘기다.

 

UPROPERTY 와 UFUNCTION 안에는 ReadWrite, ReadOnly, BlueprintCallable 등 더 많은 옵션이 있으니 아래의 링크에서 찾아보면 좋다.

프로퍼티 | 언리얼 엔진 문서 (unrealengine.com) 

블루프린트에 게임플레이 요소 노출시키기 | 언리얼 엔진 문서 (unrealengine.com)

 

그 외에도 Category = " " 를 사용하면 에디터에서 변수가 노출 될 때, 같은 카데고리 끼리 예쁘게 묶이기도 한다.

UPROPERTY(EditAnywhere, Category="PlayerInfo")
int32 HP;

UPROPERTY(EditAnywhere, Category="PlayerInfo")
float Speed;

 

 

728x90