사용자 프로젝트 파일
언리얼 엔진(UE) 은 내부(native) 프로젝트와 외부(foreign) 프로젝트라는 두 가지 타입의 프로젝트를 인식합니다.
내부 프로젝트
내부 프로젝트 는 프로젝트를 생성하는 데 사용된 엔진과 동일한 루트 디렉터리 내에 존재하는 프로젝트입니다. 그 결과, 디렉터리 구조는 다음과 같습니다.
.
└── ROOT/
├── Engine/
│ ├── Binaries/
│ ├── Build/
│ ├── Config/
│ └── ...
├── PROJECT1/
│ ├── Binaries/
│ ├── Build/
│ ├── Config/
│ ├── ...
│ └── PROJECT1.uproject
├── PROJECT2/
│ ├── Binaries/
│ ├── Build/
│ ├── Config/
│ ├── ...
│ └── PROJECT2.uproject
├── ...
├── Default.uprojectdirs
├── GenerateProjectFiles.bat
└── ...
이 구조인 PROJECT1
및 PROJECT2
는 모두 내부 프로젝트입니다. 이 디렉터리 구조인 프로젝트는 사용할 에디터를 결정하기 위해 추가 환경설정이 필요하지 않으며, 프로젝트가 루트 디렉터리 내에 빌드된 에디터를 자동으로 감지합니다. 이는 UE의 소스 빌드를 사용하든 바이너리 빌드를 사용하든 마찬가지입니다.
프로젝트는 루트 폴더나 Default.uprojectdirs
(예: ROOT/Games
)에 정의된 하위 폴더에 넣을 수 있습니다. .uprojectdirs
파일은 엔진이 ROOT
의 하위 디렉터리에서 프로젝트를 검색하도록 지시하는 헬퍼 파일입니다. 동일한 ROOT
디렉터리에 여러 .uprojectdirs
파일이 있을 수 있습니다. 이 파일들의 이름은 Default.uprojectdirs
일 필요는 없으며, 파일 확장명이 .uprojectdirs
라면 원하는 이름을 붙일 수 있습니다.
외부 프로젝트
외부 프로젝트 는 프로젝트 디렉터리가 엔진 디렉터리와 동일한 루트 디렉터리가 아닌 다른 위치에 있는 프로젝트입니다. 예시는 다음과 같습니다.
├── UE/
│ ├── Engine/
│ │ ├── Binaries
│ │ ├── Build
│ │ ├── Config
│ │ └── ...
│ ├── ...
│ ├── Default.uprojectdirs
│ ├── GenerateProjectFiles.bat
│ └── ...
├── PROJECT1/
│ ├── Binaries
│ ├── Build
│ ├── Config
│ ├── ...
│ └── PROJECT1.uproject
├── PROJECT2/
│ ├── Binaries
│ ├── Build
│ ├── Config
│ ├── ...
│ └── PROJECT2.uproject
└── ...
런처(바이너리) 빌드에서 외부 프로젝트가 생성되면 해당 .uproject
파일의 EngineAssociation
필드는 생성하는 데 사용된 런처 엔진의 버전 번호로 설정됩니다. 언리얼 에디터의 소스 빌드 버전에서 프로젝트를 생성한 경우 해당 에디터의 글로벌 고유 식별자(Globally Unique Identifier, GUID) 가 입력됩니다. 이 GUID는 소스 빌드 에디터를 처음 시작할 때 자동으로 생성되어 컴퓨터에 저장됩니다. 다양한 운영체제에서 GUID가 저장되는 위치는 다음과 같습니다.
- Windows:
- 레지스트리:
Computer\HKEY_CURRENT_USER\SOFTWARE\Epic Games\Unreal Engine\Builds
- 레지스트리:
- Mac:
- 파일:
~Library/Application Support/Epic/UnrealEngine/Install.ini
- 파일:
- Linux:
- 파일: ` ~/.config/Epic/UnrealEngine/Install.ini`
예를 들어 PROJECT1
이 언리얼 에디터의 소스 빌드 버전에서 생성되었다고 하면 PROJECT1.uproject
파일에는 다음 형식이 포함됩니다.
{
"FileVersion": 3,
"EngineAssociation": "{5FFE8984-EA6F-49EC-859E-6CB8C10FE54D}",
"Category": "",
"Description": "",
"Modules": [
...
],
"Plugins": [
...
],
"TargetPlatforms": [
...
]
}
여기서 5FFE8984-EA6F-49EC-859E-6CB8C10FE54D
는 프로젝트를 생성하는 데 사용된 언리얼 에디터의 소스 빌드 버전과 연결된 GUID입니다. 이와 대조적으로 PROJECT2
가 언리얼 에디터의 UE 5.1 런처 버전에서 생성되었다면 PROJECT2.uproject
파일에는 다음이 포함됩니다.
{
"FileVersion": 3,
"EngineAssociation": "5.1",
"Category": "",
"Description": "",
"Modules": [
...
],
"Plugins": [
...
],
"TargetPlatforms": [
...
]
}
프로젝트의 언리얼 엔진 버전 변경
먼저 프로젝트의 .uproject
파일을 우클릭하고 언리얼 엔진 버전 전환...(Switch Unreal Engine version...) 을 선택하여 프로젝트를 여는 데 사용할 언리얼 엔진 버전을 변경할 수 있습니다. 그러면 이 프로젝트를 열 때 사용할 UE 버전을 선택할 수 있는 드롭다운 메뉴가 있는 대화 상자가 나타납니다. 이 대화 상자가 처음 나타나면 이 프로젝트를 열도록 설정된 현재 언리얼 엔진 배포판이 표시됩니다. 이 드롭다운 메뉴의 런처 빌드는 버전 번호(예: 4.27 또는 5.0)로 구분하며 소스 빌드는 바이너리 빌드 또는 소스 빌드 뒤에 빌드 디렉터리가 오는 것으로 구분합니다. 이 디렉터리는 .uproject
파일의 EngineAssociation
필드와 연결된 GUID 키와 연결된 값입니다. 엔진 버전을 전환하려면 드롭다운 메뉴에서 원하는 언리얼 엔진 배포판을 선택하세요. 그런 다음 시스템은 이 변경사항을 구현하기 위해 프로젝트 파일을 재생성합니다.
프로젝트에 코드 추가하기
C++ 클래스 마법사
C++ 클래스 마법사(C++ Class Wizard) 는 자신만의 함수 기능을 원하는 대로 확장할 수 있도록 프로젝트에 네이티브 C++ 코드 클래스를 쉽고 빠르게 추가시켜 줍니다. 콘텐츠 전용 프로젝트를 코드 프로젝트로 변환해 주기도 합니다. 다음과 같이 C++ 클래스 마법사에 액세스하여 새로운 c++ 클래스를 만들 수 있습니다.
계속하기 전에 Visual Studio 구성하기 페이지를 확인하여 호환되는 버전의 Visual Studio가 설치되어 있는지 확인하세요. 올바른 버전의 Xcode에 대한 정보는 새로운 기능 문서를 확인하세요.
-
메인 에디터에서 파일 > 새 C++ 클래스... 를 선택합니다.
-
C++ 클래스 마법사 가 열리고 기본적으로 Common Classes(일반 클래스) 가 표시됩니다.by default. 찾고 있는 클래스가 보이지 않는 경우 All Classes(모든 클래스) 를 선택하여 전체 클래스 계층구조를 확인할 수 있습니다.
일반 클래스 모든 클래스 -
추가하고자 하는 클래스를 선택합니다. 여기에서는 새로운 Actor 클래스를 선택하겠습니다. Actor 클래스를 선택하고 다음 > 버튼을 누르세요.
-
새로운 클래스에 이름 을 입력하라는 창이 뜹니다. 입력한 다음 클래스 생성 버튼을 누릅니다. 그러면 헤더(.h) 와 소스(.cpp) 파일이 생성됩니다.
클래스 이름은 알파벳과 숫자만 가능하며, 공백은 불가능합니다. 잘못된 이름을 입력하면 입력 필드를 통해 알 수 있습니다.
-
언리얼 엔진에서 라이브 코딩(Live Coding) 은 기본적으로 활성화되어 있습니다. 라이브 코딩이 나타나고 생성된 신규 클래스 파일을 컴파일합니다.
-
코드가 Visual Studio 에서 바로 편집 가능한 상태로 열립니다.
코드가 바로 Xcode 에 편집가능한 상태로 열립니다.
개발 환경
코드 파일은 Visual Studio 를 통해 생성할 수 있으며 일반적인 방식으로 Solution Explorer 를 통해 게임 프로젝트에 추가할 수 있습니다. Visual Studio 외부의 적절한 폴더에 코드 파일을 추가하고 솔루션 및 프로젝트 파일을 자동으로 리빌드할 수도 있습니다. 이렇게 하면 운영체제 UI를 통해 많은 파일을 신속하게 추가할 수 있고, 팀 구성원 간에 솔루션과 프로젝트 파일을 동기화할 필요가 없으므로 팀 작업도 더 쉬워집니다. 각 구성원은 코드 파일만 동기화하면 로컬에서 프로젝트 파일을 다시 빌드할 수 있습니다.
코드 파일은 Xcode 를 통해 생성할 수 있으며 일반적인 방식으로 Project Navigator 를 통해 게임 프로젝트에 추가할 수 있습니다. Xcode 외부의 적절한 폴더에 코드 파일을 추가하고 프로젝트 파일을 자동으로 리빌드할 수도 있습니다. 이렇게 하면 운영체제 UI를 통해 많은 파일을 신속하게 추가할 수 있고, 팀 구성원 간에 솔루션과 프로젝트 파일을 동기화할 필요가 없으므로 팀 작업도 더 쉬워집니다. 각 구성원은 코드 파일만 동기화하면 로컬에서 프로젝트 파일을 다시 빌드할 수 있습니다.
개발 환경에서 프로젝트 열기
프로젝트가 이미 언리얼 에디터 에서 열려 있는 경우, 툴(Tools) 메뉴에서 Visual Studio 열기(Open Visual Studio) 를 선택하면 Visual Studio에서 쉽게 열 수 있습니다.

Windows 탐색기 또는 Visual Studio의 파일(File) > 열기(Open) > 프로젝트/솔루션(Project/Solution) 을 통해 Visual Studio에서 프로젝트를 열 수도 있습니다.
프로젝트가 UE 루트 디렉터리 내부에 있는 경우:
* UE 루트 디렉터리에 있는 UE5.sln
Visual Studio 솔루션을 엽니다.
프로젝트가 UE 루트 디렉터리 외부에 있는 경우:
* 프로젝트 디렉터리의 루트에 있는 PROJECT_NAME.sln
Visual Studio 솔루션을 엽니다.
프로젝트가 이미 에디터에서 열려 있는 경우 파일(File) 메뉴에서 Xcode에서 열기(Open in Xcode) 를 선택하면 Xcode에서 쉽게 열 수 있습니다.

Finder 또는 Xcode의 파일(File) > 열기(Open) 를 통해 Xcode에서 프로젝트를 열 수도 있습니다.
* 프로젝트 디렉토리의 루트에 있는 PROJECT_NAME.xcodeproj
Xcode 프로젝트를 엽니다.
프로젝트 파일 생성하기
프로젝트 파일은 PROJECT_DIRECTORY\Intermediate\ProjectFiles
에 위치한 중간 파일로 간주됩니다. 즉, 'Intermediate' 폴더를 삭제하면 프로젝트 파일을 다시 생성해야 합니다.
.uproject 파일
프로젝트가 UE 루트 디렉터리 외부에 있는 경우:
1. Windows 탐색기에서 PROJECT_NAME.uproject
위치로 이동합니다.
1. 한 번 좌클릭 하여 PROJECT_NAME.uproject
가 강조되었는지 확인합니다. 이제 PROJECT_NAME.uproject
파일을 우클릭 하고 Visual Studio 파일 생성(Generate Visual Studio Files) 을 선택합니다.

1. UnrealBuildTool 은 Intellisense 데이터 생성을 포함하여 프로젝트 파일과 솔루션을 업데이트합니다.

1. Visual Studio에서 게임 프로젝트를 보려면 프로젝트 디렉터리의 루트에 있는 PROJECT_NAME.sln
Visual Studio 솔루션을 엽니다.
1. Finder에서 PROJECT_NAME.uproject
위치로 이동합니다.
1. PROJECT_NAME.uproject
파일을 우클릭 하고 'Xcode 파일 생성(Generate Xcode Files)'을 선택합니다.

1. UnrealBuildTool이 프로젝트를 업데이트합니다.

1. Xcode에서 게임 프로젝트를 보려면 프로젝트 디렉터리의 루트에 있는 PROJECT_NAME.xcodeproj
Xcode 프로젝트를 엽니다.