최상위 레벨에는 Engine 디렉토리와 게임 프로젝트가 있습니다. Engine 디렉토리에는 엔진 자체와, 엔진에서 기본 제공하는 모든 툴이 포함되어 있습니다. 각 게임 폴더에는 해당 게임과 관련된 모든 파일이 들어 있습니다. 이전 버전의 엔진보다 UE4에서 엔진과 게임 프로젝트 간의 분리가 훨씬 더 큽니다.
루트 디렉터리
- Engine - 엔진을 이루는 모든 소스 코드, 콘텐츠 등이 포함되어 있습니다.
- Templates - 새 프로젝트 생성 시 사용 가능한 프로젝트 템플릿 모음입니다.
- GenerateProjectFiles.bat - Visual Studio 에서 엔진과 게임 작업시 필요한 UE4 솔루션 및 프로젝트 파일 생성시 사용됩니다. 자세한 내용은 IDE의 프로젝트 파일 문서를 참고해 주세요.
- UE4Games.uprojectdirs - 엔진이 하위 디렉터리의 프로젝트를 발견할 수 있도록 해주는 헬퍼 파일입니다.
공통 디렉터리
Engine 과 게임 프로젝트 디렉터리 사이에 공통으로 쓰이는 서브디렉터리가 있습니다:
- Binaries - 컴파일 도중 생성되는 실행 파일이나 기타 파일이 포함됩니다.
- Build - 엔진이나 게임을 빌드하는 데 필요한 파일은 물론, 플랫폼별 빌드를 만드는 데 필요한 파일도 들어 있습니다.
- Config - 엔진 행위를 제어하는 값 설정용 환경설정 파일입니다. 게임 프로젝트 Config 파일에 설정된 값은
Engine\Config
디렉터리에 설정된 값을 덮어씁니다. - Content - Engine 이나 게임에 대한 콘텐츠, 애셋 패키지와 맵이 들어갑니다.
- DerivedDataCache - 참조된 콘텐츠에 대해 로드시 생성된 파생 데이터 파일이 들어있습니다. 참조된 콘텐츠에 대해 캐시 파일이 존재하지 않으면 로드 시간이 엄청나게 길어질 수 있습니다.
- Intermediate - 엔진이나 게임 빌드 도중 생성된 임시 파일이 들어 있습니다. 게임 디렉터리에서 셰이더는 Intermediate 디렉터리에 저장됩니다.
- Saved - 자동저장, 환경설정 (
.ini
), 로그 파일이 들어 있습니다. 추가적으로 Engine > Saved 디렉터리에는 크래시 로그, 하드웨어 정보, 스웜 옵션 및 데이터가 들어 있습니다. - Source - Engine 이나 게임은 물론 엔진 소스 코드, 툴, 게임플레이 클래스 등에 대한 모든 소스 파일이 들어갑니다.
- Engine - Engine 디렉터리에 있는 소스파일은 다음과 같은 범주로 엮입니다:
- Developer - 에디터와 엔진 둘 다에 쓰이는 파일입니다.
- Editor - 에디터에만 쓰이는 파일입니다.
- Programs - 엔진이나 에디터에 쓰이는 외부 툴입니다.
- Runtime - 엔진에만 쓰이는 파일입니다.
- Game - 게임 프로젝트 디렉터리의 소스 파일은 모듈별, 모듈 하나 당 디렉터리 하나로 정리됩니다. 각 모듈에 포함되는 것은 다음과 같습니다:
- Classes - 모든 게임플레이 클래스 헤더 (
.h
) 파일이 들어갑니다. - Private - 모든
.cpp
파일과 게임플레이 클래스 구현 파일, 모듈 구현 파일이 들어갑니다. - Public - 모듈 헤더 파일이 들어갑니다.
- Classes - 모든 게임플레이 클래스 헤더 (
- Engine - Engine 디렉터리에 있는 소스파일은 다음과 같은 범주로 엮입니다:
Engine 전용 디렉터리
Engine 디렉터리에만 쓰이는 서브디렉터리가 있습니다.
- Documentation - 엔진 문서 소스와 퍼블리시된 파일도 들어 있습니다.
- HTML - 퍼블리시된 HTML 문서 파일입니다.
- Source - 소스 마크다운 문서 파일입니다.
- Extras - 부가 헬퍼, 유틸리티 파일입니다.
- Plugins - 엔진에 사용되는 플러그인이 들어있습니다.
- Programs - UE4 루트 디렉터리에 저장된 프로젝트와 UnrealFrontend, UnrealHeaderTool 등의 기타 언리얼 프로그램용 환경설정 파일과 로그 파일이 들어 있습니다.
- Shaders - 엔진에 대한 셰이더 소스 (
.usf
) 파일이 들어갑니다.
게임 프로젝트 디렉터리
디렉터리 | 설명 |
---|---|
Binaries | 컴파일 도중 생성된 실행 파일이나 기타 파일이 들어 있습니다. |
Config | 게임의 기본 프로젝트 세팅입니다. |
Content | 엔진이나 게임의 콘텐츠는 물론 애셋 패키지와 맵까지도 들어 있습니다. |
External dependencies | (Visual Studio 에서만 보이는) 공용 Rocket 엔진 헤더 파일을 표시합니다. |
Intermediate | Visual Studio 프로젝트 파일처럼 UnrealBuildTool 이 생성하는 파일이 들어갑니다. 이 파일들은 지우고 재생성 가능합니다. |
Saved | 컨픽 파일과 로그 등 엔진이 생성하는 파일이 들어갑니다. 이 파일들은 지우고 재생성 가능합니다. |
Source | 게임 모듈 오브젝트 클래스 파일이 들어갑니다. |
솔루션 디렉터리
디렉터리 | 설명 |
---|---|
Classes | 게임 오브젝트 클래스 정의 (.h ) 파일이 들어갑니다. |
Config | 게임의 기본 프로젝트 세팅입니다. |
External dependencies | (Visual Studio 에서만 보이는) 공용 Rocket 엔진 헤더 파일을 표시합니다. |
Private | 개인 게임 오브젝트 클래스 구현 (.cpp ) 파일이 들어갑니다. |
Public | 공용 게임 오브젝트 클래스 구현 (.cpp ) 파일이 들어갑니다. |