Unreal Engine C++ 기초집
엔진 API를 외우는 대신 Actor와 Component의 책임, 이벤트 중심 연결, 데이터 중심 설계를 하나의 탑다운 생존 게임에 적용합니다. C++는 규칙과 재사용 구조를 담당하고 Blueprint는 값 조정과 에셋 연결을 담당합니다.
과정에서 해결하는 문제
처음 만든 Unreal 프로젝트는 기능이 Character Blueprint 하나에 몰리기 쉽습니다. 이 과정에서는 입력, 체력, 적 데이터, 점수, 생성 규칙과 UI를 서로 다른 책임으로 나누고 C++와 Blueprint 사이에 안정적인 경계를 만듭니다.
선수지식
- 변수, 조건문, 반복문, 함수와 클래스에 대한 기본 프로그래밍 경험
- Windows 파일 경로와 PowerShell의 현재 폴더 개념
- C++ 문법 경험이 적다면 포인터와 참조는 10강에서 Unreal 방식으로 다시 설명합니다.
개발 환경
- Windows 10 또는 11
- Unreal Engine 5 계열
- Visual Studio 2022와 Game development with C++ 워크로드, 또는 Unreal C++를 지원하는 Rider
- 기본 엔진 에셋 또는 Cube, Capsule 같은 Primitive Mesh
이 교재는 Unreal Engine 5의 공통 개념을 기준으로 합니다. 문서를 확인한 시점의 Epic 공식 사이트는 UE 5.8 문서를 기본으로 보여 주지만, 프로젝트가 사용하는 엔진 버전을 우선해야 합니다. 메뉴 이름, 템플릿, 헤더 경로와 일부 API는 버전에 따라 달라질 수 있습니다. 설치 전에 Epic의 C++ 개발 환경 안내와 Microsoft의 Visual Studio Tools for Unreal Engine 설치 안내를 다시 확인하세요.
C++와 Blueprint의 책임
| C++에 두는 것 | Blueprint에 두는 것 |
|---|---|
| 체력 규칙, 점수 규칙, 생성 주기 | Mesh, Material, Sound 같은 에셋 연결 |
| 재사용 Component와 Subsystem | C++ 자식 클래스의 기본값 조정 |
| Delegate와 명확한 API 경계 | Widget 배치와 시각 표현 |
| 테스트하기 쉬운 게임 상태 | 레벨에 배치하는 인스턴스 구성 |
Blueprint를 배제하지 않습니다. 규칙은 C++로 안정화하고 디자이너가 자주 바꾸는 값과 표현은 Blueprint에서 조정합니다.
최종 결과물
TopDownSurvival 프로젝트를 24강 동안 계속 확장합니다. 플레이어는 Enhanced Input으로 이동하고 공격합니다. EnemyBase는 DataAsset의 능력치를 읽어 플레이어를 추적하고, EnemySpawner는 Timer로 생성 빈도를 조절합니다. HealthComponent와 Delegate가 피격·사망·UI를 느슨하게 연결하며, GameInstance Subsystem이 점수와 게임 오버 상태를 관리합니다.
24강 학습 순서
- 엔진과 C++ 연결(1~5강): 역할, 환경, 모듈, Actor, Reflection
- 게임플레이 기본 구조(6~11강): Component, Collision, Character, 입력, 참조, 컨테이너
- 이벤트와 규칙(12~18강): Delegate, Timer, Trace, Spawn, HealthComponent, DataAsset, Subsystem
- 게임 완성(19~24강): UI, 적 AI, Spawner, Pool, 디버깅, 최종 통합
COURSE ORIENTATION
과정 선택 안내
- 학습 대상
- 기본 프로그래밍 경험을 Unreal Engine의 실제 게임플레이 코드로 연결하려는 학습자
- 선수지식
- 기본 프로그래밍 경험과 Windows
- 최종 결과물
- 탑다운 생존 게임 프로토타입
- 추천 다음 과정