지금까지 언리얼을 조금 만져봤지만 새로 알게된 지식에 대해 적어보려 한다.
1. 언리얼5에서부터 헤더에 언리얼 오브젝트 포인터를 선언할 때 로우 포인터 * 대신 TObjectPtr을 사용하는 것을 권장한다.
2. CreateDefaultSubobject<>() : Subobject를 CDO에서부터 포함시키기 위해 호출하는 함수.
3. CreateDefaultSubobject<>() 함수에 전달되는 문자열 : 해당 문자열은 액터에 속한 컴포넌트 끼리 구별하기 위한 Hash 값 생성에 사용됨. 따라서 다른 컴포넌트와 중복되지 않는 유일한 문자열을 지정해야함.(같은 애셋 안에서)
4. 컴포넌트를 생성자 후에 액터에 부착할 때 NewObject<>() 함수를 호출한다. 이렇게 생성된 컴포넌트는 반드시 등록 함수인 RegisterComponent() 함수 호출이 필요하다. 그래야 해당 컴포넌트가 월드의 시간과 물리 처리에 등록이 된다.
5. 프리미티브 타입의 속성을 선언하고 UPROPERTY() 매크로를 붙히면 자동으로 초기화가 된다.
프리미티브 타입이란 언리얼에서 C++ 기본형을 게임 엔진에 맞게 재정의하거나 확장해둔 버전을 뜻한다.
6. private로 선언해둔 변수를 UPROPERTY()로 블루프린트에서 읽거나 쓰려고 하면 빌드오류가 발생한다. 이는 Meta = (AllowPrivateAccess)를 붙이면 해결된다.
7. 컴포넌트 상속 구조
씬 컴포넌트는 액터 컴포넌트를 상속 받고 트랜스폼 속성이 추가된 컴포넌트다.

트랜스폼이 있는 컴포넌트와 없는 컴포넌트는 에디터에서 나뉘어져 있다.

'언리얼 + cpp' 카테고리의 다른 글
| 언리얼 C++ (게임모드, 플레이어 컨트롤러, 폰, 캐릭터) (0) | 2025.10.27 |
|---|---|
| 언리얼 C++ (Reflection, Delegate) (0) | 2025.10.23 |
| 언리얼 C++ 공부(CDO, GC) (0) | 2025.10.20 |
| 언리얼C++ 11일차(파티클, 사운드) (0) | 2025.09.26 |
| 언리얼C++ 10일차(UI 애니메이션, Widget Component) (0) | 2025.09.25 |