본문으로 건너뛰기
Unreal Engine C++ 기초집LESSON 03

Unreal C++ 프로젝트 구조

난이도입문
예상 시간30분
선수지식2강의 C++ 프로젝트

3강. Unreal C++ 프로젝트 구조

1. 이번 강의에서 해결할 문제

헤더를 추가했는데 찾지 못하거나 Enhanced Input 코드는 작성됐지만 링크 단계에서 실패합니다. 파일 위치와 모듈 의존성이 컴파일 흐름에 어떻게 연결되는지 확인합니다.

2. 학습 목표

3. 핵심 개념

TopDownSurvival은 하나의 게임 모듈로 시작합니다. TopDownSurvival.Build.cs는 이 모듈이 사용할 다른 모듈을 선언하고, TopDownSurvival.Target.cs와 TopDownSurvivalEditor.Target.cs는 게임 실행 파일과 에디터 실행 파일의 빌드 대상을 정의합니다.

프로젝트 구조
TopDownSurvival/
├─ TopDownSurvival.uproject
├─ Config/
├─ Content/
└─ Source/
├─ TopDownSurvival.Target.cs
├─ TopDownSurvivalEditor.Target.cs
└─ TopDownSurvival/
├─ TopDownSurvival.Build.cs
├─ TopDownSurvival.h
├─ TopDownSurvival.cpp
├─ Characters/
├─ Components/
├─ Data/
├─ Systems/
└─ UI/

4. 단계별 실습

파일 경로: Source/TopDownSurvival/TopDownSurvival.Build.cs

TopDownSurvival.Build.cs
using UnrealBuildTool;

public class TopDownSurvival : ModuleRules
{
public TopDownSurvival(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

PublicDependencyModuleNames.AddRange(new string[]
{
"Core",
"CoreUObject",
"Engine",
"InputCore",
"EnhancedInput",
"UMG",
"AIModule",
"NavigationSystem"
});
}
}

PowerShell · 실행 위치: 프로젝트 루트

New-Item -ItemType Directory -Force .\Source\TopDownSurvival\Characters
New-Item -ItemType Directory -Force .\Source\TopDownSurvival\Components
New-Item -ItemType Directory -Force .\Source\TopDownSurvival\Data
New-Item -ItemType Directory -Force .\Source\TopDownSurvival\Systems
New-Item -ItemType Directory -Force .\Source\TopDownSurvival\UI
Get-ChildItem .\Source\TopDownSurvival -Directory

폴더를 만든 뒤 IDE 프로젝트 보기에 즉시 나타나지 않으면 Editor의 Tools 메뉴에서 프로젝트 파일을 새로 고치거나 uproject 컨텍스트 메뉴의 프로젝트 파일 생성 기능을 사용합니다. 메뉴 이름은 버전에 따라 다를 수 있습니다.

5. 코드가 동작하는 이유

Build.cs는 C++ include 문보다 앞선 의존성 경계입니다. 예를 들어 EnhancedInput 모듈을 선언하지 않으면 헤더를 찾더라도 링크나 모듈 로드 단계에서 실패할 수 있습니다. Public과 Private 구분은 내 공개 헤더가 해당 모듈 타입을 노출하는지에 따라 결정합니다. 처음에는 학습 편의를 위해 Public 목록에 두고, 구조가 안정되면 Private 의존성을 정리합니다.

6. 자주 하는 실수와 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

Unreal C++ 프로젝트 구조 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“Unreal C++ 프로젝트 구조” 실습 결과를 확인할 때 적용해야 할 설명은 무엇인가요?
  2. 문제 2“Unreal C++ 프로젝트 구조”의 작업 기준으로 ‘Intermediate 파일을 소스로 수정’을 진단하거나 바로잡은 선택은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

3강. Unreal C++ 프로젝트 구조 미완료 상태