개발자가 선언한 객체를 언리얼 실행 환경이 자동으로 관리하게 만드는 매크로.
멤버 변수 선언에 꼭 잊지 않고 넣어줘야 에러가 안 생긴다!
EditAnywhere: 이 프로퍼티는 에디터나 인스턴스 양쪽의 프로퍼티 창에서 편집할 수 있습니다. 이 지정자는 어떤 "Visible" 지정자와도 호환되지 않습니다.VisibleAnywhere: 이 프로퍼티는 모든 프로퍼티 창에 보이지만 편집할 수 없음을 나타냅니다. 이 지정자는 "Edit" 지정자와 호환되지 않습니다.
DefaultsOnly: 클래스의 기본값을 담당하는 blueprint 편집 화면에서만 보임InstanceOnly: instance 속성을 보여주는 Editor Viewport에서만 보임BlueprintReadOnly: Blueprint에서 오로지 값을 읽기만 할 수 있음BlueprintReadWrite: Blueprint에서 읽고 쓸 수 있음Frame마다 호출되는 함수로, Unity의 Update()와 같음
UE은 매 Tick마다 Input System → Game Logic → Animation system 순으로 로직을 실행
∵ 입력 값을 받은 후 폰을 움직이게 만들고, 그 다음 움직임에 맞는 애니메이션을 재생시키는 것이 자연스럽다.
auto Pawn = **TryGetPawnOwner()**
TryGetPawnOwner(): 유효한 Pawn 객체의 포인터를 받아옴Unity의 GetComponent<>() 와 비슷한 Get뫄뫄()를 할 때 기본적으로 써줘야 하는 키워드!
아래와 같이 쓰인다.
auto AnimInstance = Cast<UABAnimInstance>(GetMesh()->GetAnimInstance());

에셋의 창을 띄워놓고 Alt+P를 누르면 뷰포트에서 게임 플레이가 시작되면서 게임 중 에셋의 로직 흐름을 확인할 수 있다.