언리얼 엔진 기본 개념 및 설정 정리
1. 구조체(Struct)와 열거형(Enum)
구조체와 열거형은 데이터 묶음을 표현할 때 사용된다.
구조체 만들기

- 필요한 변수들만 모아서 구조체를 만든다.
- 게임에서 관련 있는 데이터(예: 체력, 속도, 아이템 정보 등)를 한 덩어리로 관리 가능.
구조체 사용 예시

열거형(Enum)도 동일하게 만들 수 있으며, 여러 상태(Idle, Walking, Running 등)를 구분하는 데 자주 사용된다.
2. 오브젝트 Mobility(이동성) 개념
오브젝트에는 Static, Stationary, Movable 세 가지 이동성이 있다.

- Static: 이동 불가능, 위치/회전/크기 변경 불가 (움직이면 에러)
- Stationary: 일부 변경 가능 (주로 조명에서 사용)
- Movable: 자유롭게 이동 가능
에러 원인: Static 오브젝트를 Movable 오브젝트의 자식으로 두면 안 된다.
3. 오브젝트 그룹 및 복사

- Alt + 드래그 → 선택한 오브젝트 복사
- 움직이지 않는 물체는 반드시 Static 설정
- 조명은 Mobility 설정에 따라 성능 차이가 크다.
4. 언리얼 '폰'(Pawn)과 빙의(Possession) 시스템
언리얼에서 Pawn은 플레이어나 AI가 조종할 수 있는 오브젝트다.

- Controller가 Pawn을 조종(빙의)할 수 있다.
- AIController는 자동으로 생성되지만, 자동 빙의 설정을 하지 않으면 월드에 나타나지 않는다.
- 플레이 시 기본 Pawn이 없으면 디폴트 Pawn이 스폰된다.
5. 에셋 다운로드 및 확인


- 에셋은 언리얼 마켓플레이스(팩)에서 다운로드 가능.
- 다운로드 후 구성 파일과 매쉬, 머티리얼, 애니메이션 등을 확인해야 함.
6. 스켈레탈 메쉬와 애니메이션

- Skeletal Mesh Component를 추가하면 캐릭터 모델이 보인다.
- Animation Mode를 설정하면 캐릭터 애니메이션 재생 가능.

7. 충돌(콜리전) 설정

8. 플레이어 빙의 설정

- 플레이어 0번에 빙의하면 캐릭터 내부 시점에서 플레이 가능.
- 자동 빙의 설정을 통해 플레이어 시작 시 해당 Pawn에 자동 연결 가능.


추가 팁
- 구조체 & 열거형은 코드뿐 아니라 블루프린트에서도 관리 가능.
- Mobility 설정은 성능과 직결되므로 주의.
- 콜리전 설정은 단순화하는 것이 최적화에 좋다.
- Pawn과 Controller 개념을 명확히 이해하면 AI와 플레이어 제어가 쉬워진다.