1-2. 언리얼 엔진 C++ 빌드 프로세스 이해하기
Visual Studio → Solution Explorer 확인
Visual Studio 상에 보이는 파일 구조 → Solution 구조

Engine 폴더
- 언리얼 엔진 자체 소스 코드와 리소스가 담긴 곳
- 에디터 작동, 엔진 코어 관련 코드가 포함되어 있음
Games 폴더
- 만들었던 프로젝트 코드가 모두 들어 있음
- 내부에 Source, Config, .uproject 파일 등이 있으며, C++로 작성하는 게임 로직을 이 폴더에서 가장 많이 다루게 됨
Programs 폴더
- 엔진 동작에 필요한 유틸리티 프로그램이나 서버 모듈
Rules 폴더
- 엔진과 게임 등 각 모듈의 빌드 규칙을 정의해 놓은 파일이 있음
- 모듈 의존성, 플러그인 활성화 여부, 빌드 대상 등을 제어
Visualizers 폴더
- Visual Studio 디버거에서 언리얼 엔진의 복잡한 자료구조 (FVector, FString) 를 보다 읽기 쉽게 도와주는 설정 파일
프로젝트 루트 폴더 (Games/프로젝트 명)

- Games 폴더 안 만들었던 프로젝트 이름의 폴더 → 프로젝트 루프
- 게임 개발에 필요한 모든 리소스와 설정 파일이 이곳에 모여 있음
Source 폴더
- 최초 프로젝트 생성 시에는 프로젝트명.cpp, 프로젝트명.h 등 최소 파일만 있음
- 클래스를 만들수록 점차 늘어남
파일 수정을 했을 때
C 파일 수정 → 빌드 (컴파일 + 링크) → 언리얼 상에서 DLL 파일 생성 → 언리얼 에디터에서 가져와야됨
→ C++ 파일에서 수정했던 것이 반영됨
빌드 구성 및 플랫폼 확인
Visual Studio 상단 툴바에는 빌드 구성 (Configuration)과 플랫폼 (Platform)을 선택하는 드롭다운이 있음

DebugGame
- 디버깅을 하기 위해 최적화 된 빌드 모드
- 디버그에 대한 모든 정보를 가진 채로 게임이 빌드 → 모든 정보를 가져 무겁기 때문에 게임 속도는 조금 느림
- 실행 파일 형태로 실행되며 디버깅
- 엔진 코드 고정
DebugGame Editor
- 에디터 환경에서 게임 로직을 디버그하기 편한 설정
- 에디터 플레이 중에 C++ 로직을 추적하거나 브레이크포인트를 걸어볼 수 있음
가장 일반적인 빌드 모드
Development
- 디버그 정보를 최소화해 실행 속도를 높인 개발용 빌드 → 테스트하기 좋음
- 독립 실행 파일 환경 테스트·개발 단계에서 주로 쓰임
- 실행 파일 형태의 빌드
Development Editor
- 언리얼 에디터 상에서 빌드
Shipping
- 최종 사용자에게 배포할 때 사용하는 릴리스 빌드
- 디버그 정보를 제거하고, 성능 최적화가 극대화
- 마지막에 쓴다고 생각하면 됨
전체 솔루션 빌드 / 부분 빌드
Visual Studio 메뉴 Build → Build Solution (단축키: Ctrl + Shift + B)
- 엔진, 유틸리티, 게임 등 모든 모듈을 통째로 빌드
- 첫 빌드나 엔진 소스를 수정했을 때, 또는 엔진 전체 파일이 필요한 경우에 사용
- 프로젝트 규모가 크면 시간이 오래 걸릴 수 있음

- 엔진이나 다른 모듈을 제외하고, 게임 프로젝트 코드만 빠르게 빌드
- 일반적으로 C++ 로직만 수정했다면 이 방법을 쓰는 것이 효율적

빌드 전후 체크 포인트
빌드 시작 전
- 언리얼 에디터는 가급적 종료하고 빌드하는 편이 안전
- 에디터가 실행 중이면 수정된 DLL을 교체하지 못해 빌드 에러가 발생
빌드 진행
- Visual Studio 하단 Output 창에서 빌드 메시지를 모니터링
- 첫 빌드 (전체 솔루션 빌드) 는 엔진 모듈까지 모두 새로 컴파일하므로 오래 걸릴 수 있지만, 이후에는 변경된 소스만 컴파일해서 빌드 시간이 크게 단축
- 경고 (Warning)나 에러 (Error)가 뜨면 Error List 창에서 구체적인 원인을 확인
Error List
Build Only 에 에러창 확인하기
Build + IntelliSense → Visual Studio 상에서 코드 편집 보조 도구로써 제공하는 기능
컴파일러 빌드와 무관함
Live Coding
기존 방식
Shift + F5 (에디터 연결 종료) → C++ 코드 수정 → Visual Studio에서 빌드 → F5 (에디터 재연결) → 결과 확인
Live Coding 활용 시
에디터를 종료하지 않은 상태에서 C++ 코드를 수정한 뒤, Live Coding으로 변경 사항만 컴파일하여 즉시 에디터에 반영
에디터를 일일이 끄고 켜는 번거로움이 줄어듦
Live Coding 기능 활성화

Live Coding 기능 활성화 / 비활성화
활성화
- 순한 수치 변경이나 간단한 로직 수정 시 1~2초 만에 즉시 반영되는 라이브 코딩은 시간 절약에 용이함
- 흐름을 끊지 않고 계속 작업을 이어갈 수 있게 해줌
비활성화
- 라이브 코딩은 코드를 실행 중에 메모리에 직접 주입하는 방식
- 복잡한 수정(특히 헤더 파일 변경이나 클래스 구조 변경)을 할 때 엔진이 꼬이거나 예기치 않게 크래시가 날 확률이 높음
- 수정된 내용이 실제 바이너리에 완벽하게 반영되지 않는 경우 발생 → 수정을 했는데 그대로인 경우가 생길 수 있음
| 작업 유형 | 추천 방식 | 이유 |
| 단순 로직 수정 (함수 내부 내용 변경) | 라이브 코딩 사용 | 매우 빠르고 편함 |
| 새로운 변수/함수 추가 | 라이브 코딩 주의 | 헤더 변경 시 불안정할 수 있음 |
| 클래스 상속 구조 변경 | 라이브 코딩 끄기 | 엔진을 끄고 빌드하는 것이 가장 확실함 |
| 디버깅 중일 때 | 라이브 코딩 끄기 | 디버거와 라이브 코딩이 충돌하여 오류가 잦음 |
웬만하면 끄고 하는게 낫다.
빌드 문제 복구하기
변경 사항 미반영 문제
C++ 코드를 수정하고 빌드를 완료 하였음에도 불구하고, 언리얼 에디터에서 반영이 안 되는 경우
빌드 캐시 문제, 프로젝트 설정 문제, 파일 경로 오류 등 다양한 원인으로 발생할 수 있음
- 컴파일 대상 누락: Visual Studio 혹은 엔진이 수정된 소스를 인식 못 해 빌드 대상에서 누락됨
- DLL 교체 문제: 언리얼 에디터가 실행 중이거나 DLL 파일이 다른 프로세스에 의해 사용 중인 경우, 새로 빌드된 DLL 파일이 교체되지 않는 문제
- 캐시 문제: 이전 빌드 결과물이 남아 새 빌드 결과를 덮어씌우지 못함
- 파일 경로 문제: 헤더 파일 경로나 플러그인 설정이 잘못되어 컴파일에 포함되지 않음
단계별 해결 가이드
1. 언리얼 에디터와 Visual Studio 종료
- 실행 중인 프로세스들이 빌드 파일을 잠글 수 있으므로, 모두 끄고 새로 시작하기
2. 프로젝트 폴더에서 Intermediate, DerivedDataCache, Saved 폴더 삭제
- 이 폴더들은 빌드 캐시 및 임시 데이터를 담고 있음
- 삭제 후 다시 빌드하면 새로 생성되어, 잘못된 캐시로 인한 오류를 해결할 수 있음
3. .uproject 파일을 우클릭 → “Generate Visual Studio project files”
- 솔루션(.sln) 파일과 프로젝트 설정을 재생성하여, 누락되었거나 꼬인 구성을 복구
4. Visual Studio에서 클린 빌드 수행
새로 생성된 솔루션 (.sln 파일)을 Visual Studio에서 열고 다음을 수행
에러가 난다면 Output 창과 Error List를 확인해 원인을 파악하고 수정
- Build → Clean Solution 기존 빌드 산출물 정리
- Build → Build Solution 프로젝트 재빌드
'C++와 Unreal Engine으로 3D 게임 개발' 카테고리의 다른 글
| C++와 Unreal Engine으로 3D 게임 개발 1-6 (0) | 2026.06.08 |
|---|---|
| C++와 Unreal Engine으로 3D 게임 개발 1-5 (0) | 2026.06.07 |
| C++와 Unreal Engine으로 3D 게임 개발 1-4 (0) | 2026.06.07 |
| C++와 Unreal Engine으로 3D 게임 개발 1-3 (0) | 2026.06.06 |
| C++와 Unreal Engine으로 3D 게임 개발 1-1 (0) | 2026.06.05 |