Visual Studio 2022 버전 17.12는 Unreal Engine 프로젝트를 직접 지원합니다.
이전에는 Visual Studio에서 Unreal Engine 프로젝트를 사용하려면 Microsoft Visual Studio 프로젝트를 생성해야 했습니다. 그 과정은 번거로웠습니다. 그리고 Unreal Engine Editor 내에서 또는 다른 팀 구성원이 새 자산을 추가할 때마다 Visual Studio 프로젝트를 다시 생성하여 Unreal Engine 프로젝트와 동기화를 유지해야 했습니다.
이제 Unreal Engine 프로젝트(.uproject) 파일을 직접 지원하여 Visual Studio 내에서 Unreal Engine 프로젝트를 직접 사용할 수 있습니다. 이 통합을 통해 Visual Studio 프로젝트 파일을 생성하고 다시 생성하는 데 시간이 많이 걸리는 프로세스 없이도 원활한 편집, 디버깅 및 프로젝트 파일 관리를 수행할 수 있습니다.
필수 구성 요소
Visual Studio에서 Unreal Engine 프로젝트를 사용하려면 다음을 설치해야 합니다.
- Visual Studio 버전 17.12 프리뷰 2 이상.
- Unreal Engine 버전 4.27 또는 Unreal Engine 버전 5 이상.
- Visual Studio Tools for Unreal Engine. 설치 지침은 Visual Studio Tools for Unreal Engine 설치를 참조하세요.
- Lyra 샘플 게임을 다운로드합니다. 다운로드 지침은 Lyra Starter 게임 다운로드 섹션을 Lyra 샘플 게임에서 참조하세요. Unreal Engine의 소스 코드 설치를 통해 구입한 경우 해당 버전에는 게임을 빌드하고 실행하는 데 필요한 자산이 포함되지 않습니다. 다운로드 지침을 사용하여 에픽 설치 관리자를 통해 필요한 모든 것을 얻을 수 있습니다.
Unreal Engine 5.3 이하에 대한 구성
5.4 이전 버전의 Unreal Engine의 경우 다음 단계에 따라 Visual Studio와 Unreal Engine .uproject 통합을 사용하도록 설정합니다. 이러한 단계는 에픽 게임 시작 관리자에서 Unreal Engine을 설치하든 소스 코드에서 빌드하든 관계없이 작동합니다.
-
Unreal Engine GitHub 리포지토리Unreal Engine 버전과 관련된 패치를 다운로드합니다. 예를 들어
UnrealBuildTool-5.2.patchUnreal Engine 버전 5.2를 패치합니다. - PowerShell 또는 명령 프롬프트 창을 열고 Unreal Engine이 설치된 루트 디렉터리로 이동합니다. Unreal Engine이
C:\Program Files\Epic Games\UE_5.3같은 보호된 디렉터리에 설치된 경우 패치를 적용하려면 관리자 권한 상승이 필요합니다. - 명령
git apply <path to the downloaded patch file>사용하여 패치를 적용합니다. 예:git apply C:\Users\someuser\Downloads\UnrealBuiltTool-5.3.patch. 실패하면git apply -v --ignore-whitespace --ignore-space-change <path to the downloaded patch file>을 시도해 보세요.
Visual Studio에서 네이티브 Unreal Engine 프로젝트 열기
Visual Studio에서 네이티브 Unreal Engine 프로젝트를 여는 방법에는 두 가지가 있습니다.
-
파일>폴더에 프로젝트(
.uproject)가 하나만 있을 때 사용되는>폴더 엽니다. -
파일>>Unreal Engine 프로젝트 열기 폴더에 Unreal Engine 프로젝트 파일이 여러 개 있을 때 열 특정
.uproject파일을 선택합니다.
이 예제에서는 Lyra 게임 프로젝트를 사용하여 Visual Studio에서 네이티브 Unreal Engine 프로젝트를 여는 방법을 보여 줍니다.
Visual Studio에서 파일 메뉴를 연 다음 열기>폴더 열기선택합니다.
Lyra 게임 프로젝트(
LyraStarterGame.uproject)가 설치된 디렉터리로 이동하고 폴더 선택합니다.폴더를 선택하면 프로젝트 파일이 솔루션 탐색기 표시되고 작업 영역 설정과 관련된 출력 창에 메시지가 표시됩니다.
Unreal Engine 프로젝트 지원이 활성화되고 CMake 및 MSBUILD와 같은 다른 빌드 시스템을 사용할 수 없다는 메시지가 나타납니다. 메시지 모서리에 있는 X 클릭하여 이 메시지를 해제할 수 있습니다.
솔루션 탐색기에서 프로젝트 보기
솔루션 탐색기 창에는 Platforms, Plugins및 Source 폴더와 같이 Unreal Engine 프로젝트에 포함된 많은 파일과 폴더가 표시됩니다. Unreal Engine .uproject 파일을 볼 수도 있습니다.
Engine 폴더에는 Unreal Engine의 원본 디렉터리가 포함되어 있습니다.
솔루션 탐색기 소스 코드에 집중하도록 필터링됩니다. 기본적으로 Content 폴더는 텍스처, 모델 등과 같은 바이너리 자산을 포함하고 있어 기본 필터링에서 제외됩니다. Unreal 엔진 편집기에서 이러한 자산을 열 수 있습니다. 일반적으로 이진 파일은 Visual Studio 솔루션 탐색기표시되지 않습니다.
Visual Studio 외부에서 추가된 새 자산을 보거나 편집하기 위해 프로젝트를 다시 생성할 필요가 없습니다.
Unreal Engine 구성 페이지
Visual Studio는 Unreal Engine 프로젝트 구성 페이지를 제공합니다. 이 페이지에서는 Unreal Engine 기능의 상태를 보여 줍니다. 그러면 더 많은 기능에 액세스할 수 있습니다.
Visual Studio 주 메뉴에서 이 페이지에 액세스하려면 Project>Unreal Engine용 도구 구성선택합니다.
구성 페이지에는 전체 구성 상태, Unreal 빌드 도구 상태, Unreal Engine 대상, 청사진 지원, Visual Studio 통합 도구 상태 등의 옵션에 대한 빨간색/녹색 상태 표시기와 새로 고침 단추가 있습니다.
Unreal 빌드 도구 상태
최신 Unreal Build Tool(UBT)가 있는지 확인하려면 Unreal Build Tool 상태새로 고침 아이콘을 선택합니다.
이 예제에서는 Unreal Build Tool이 작업 영역 생성기에 사용 가능한 최신 버전을 사용하고 있지 않다는 메시지가 표시됩니다. 업데이트 선택하여 Unreal Build Tool을 최신 버전으로 업데이트합니다.
출력 창에 Unreal Engine Build Tool을 준비하는 동안 메시지가 표시됩니다. 작업 영역이 준비되었다는 메시지가 표시되고, 그 후에 파일 추가 및 편집을 시작할 수 있습니다.
Unreal Engine 대상
Unreal Engine 프로젝트를 빌드할 때 선택할 수 있는 대상다른 빌드 구성이 있습니다.
Unreal Engine 대상 옵션은 해당 대상을 생성하는 위치입니다. 새로 고침 아이콘을 선택하여 Unreal Engine 대상 목록을 새로 고치고 만들 대상 구성을 선택할 수 있는 창을 엽니다.
대상 조합에 대한 자세한 내용은 빌드 구성 설명 Unreal Engine의 설명서를 참조하세요.
이 예제에서는 LyraClient, DebugGame및 Win64 드롭다운에서 선택합니다.
- 을 선택하고을 추가하여 생성할 구성 목록에 추가합니다.
- 대상 생성 선택하여 해당 확인란이 선택된 각 구성에 대해 선택한 구성을 만듭니다.
대상이 생성되면 빌드 구성 선택하기에서 설명된 대로 대상을 선택할 수 있습니다. 일부 조합이 지원되지 않을 수 있으므로 대상을 생성할 때 출력 창의 오류를 확인합니다.
원하지 않는 대상의 선택을 취소한 다음 대상 생성 단추를 선택하여 대상을 제거할 수 있습니다. 대상 생성 선택하면 선택되지 않은 대상은 제거되지만 프로젝트를 다시 로드할 때까지 이 목록에서 사라지지 않습니다.
대상 속성 편집
Unreal Engine 대상 속성을 편집하려면 솔루션 탐색기에서 굵게 표시된 대상 파일을 마우스 오른쪽 단추로 클릭하고 Unreal Engine 대상 속성 편집선택합니다.
예를 들어 LyraEditor.Target.cs 시작 대상인 경우(이 경우 솔루션 탐색기굵게 표시됨) 마우스 오른쪽 단추를 클릭하고 이 Unreal Engine 대상 속성 편집할선택합니다. 그러면 편집기에서 UETargetProperties.json 파일이 열립니다.
메뉴가 나타나고 아래쪽에는 이 Unreal Engine 대상을 편집하는 옵션이 있습니다. 이 옵션을 선택하면 편집기에서 UETargetProperties.json 열립니다.
그런 다음 명령줄 인수와 같은 대상 속성을 변경할 수 있습니다.
프로젝트 설정 편집
Unreal Engine 프로젝트 설정을 편집하려면 솔루션 탐색기에서 .uproject 파일을 마우스 오른쪽 단추로 클릭하고 Unreal Engine 프로젝트 설정 편집선택합니다.
ProjectSettings.json 파일이 편집기에서 열립니다. 그런 다음 솔루션 탐색기 보기에서 제외할 프로젝트 파일 및 엔진 파일, IntelliSense에서 제외할 공유 포함 경로 등과 같은 프로젝트 설정을 변경할 수 있습니다. 이러한 설정을 사용하여 IntelliSense 속도를 높일 필요가 없는 파일을 제외할 수 있습니다.
메뉴가 나타나고 아래쪽에는 Unreal Engine 프로젝트 설정을 편집하는 옵션이 있습니다. 이 옵션을 선택하면 편집기에서 '.uproject' 파일이 열립니다.
빌드 구성 선택
빌드 구성을 선택하려면 구성 드롭다운에서 원하는 대상을 선택합니다.
구성 드롭다운 메뉴에는 DebugGame - Win64 및 개발 - Win64 항목이 포함되어 있습니다.
빌드하려는 대상이 목록에 없으면 Unreal Engine 대상설명된 대로 추가합니다.
Visual Studio에서 편집 및 디버깅
Visual Studio에서 Unreal Engine 프로젝트를 편집, 빌드 및 디버그할 수 있습니다. Visual Studio에서 Unreal Engine 모듈, 클래스 및 플러그 인을 추가하는 방법을 알아보려면 Visual Studio Unreal Engine 클래스, 모듈 및 플러그 인 추가참조하세요.
코드에서 중단점을 설정한 다음 Unreal 엔진 편집기에서 게임을 실행할 수 있습니다. 중단점이 적중되면 Visual Studio에서 코드를 디버그할 수 있습니다.
기본적으로 Visual Studio는 개발 - Win64하나의 대상만 생성합니다. 이 대상은 게임 프로젝트가 로드된 Unreal 편집기를 빌드하고 시작합니다.
Visual Studio에서 Lyra 게임 샘플 프로젝트에 대한 폴더를 연 경우 다음 단계를 수행하여 디버깅을 시도해 보세요.
- Visual Studio에서
LyraGameplayAbility_RangedWeapon.cpp엽니다. 솔루션 탐색기 검색 창에서 해당 파일을 검색하거나 Games>LyraStarterGame>Source>LyraGame>Weapons>LyraGameplayAbility_RangedWeapon.cpp아래에서 해당 파일을 찾습니다. -
LyraGameplayAbility_RangedWeapon.cpp에서 약 477줄로 이동합니다. "void ULyraGameplayAbility_RangedWeapon::OnTargetDataReadyCallback함수를 찾으십시오." - F9눌러 함수에 중단점을 배치합니다.
- 디버그 >디버깅 시작선택하여 Visual Studio에서 샘플 게임을 실행합니다. Unreal 엔진 편집기에서 게임을 로드할 시간을 줍니다.
- Unreal Engine 편집기에서 도구 모음에서 재생 단추를 선택하거나
Alt+p눌러 게임을 시작합니다. - Lyra 게임에서
w,a,s,d키를 사용하여 플레이어를 왼쪽으로 탈락 포털로 이동시키세요. 엔트리 포털 위에 플레이어를 배치하여 게임을 로드합니다. - 게임이 실행되면 마우스 단추를 클릭하여 실행하면 Visual Studio:
일반적인 문제 및 해결 방법
- 엔진과 게임 코드는 동일한 드라이브에 있어야 합니다. 그렇지 않은 경우 게임 소스와 엔진 소스가 다른 드라이브에 있는지참조하세요.
- 동일한 폴더에 있는 여러
.uproject파일은 지원되지 않습니다. 동일한 폴더에 여러 프로젝트 파일이 있는 경우 특정.uproject파일을 열려면 파일>>Unreal Engine 프로젝트엽니다. - 파일>Open>Unreal Engine 프로젝트통해 Unreal Engine 프로젝트를 열면 Visual Studio의 파일>최근 프로젝트 및 솔루션 목록에 프로젝트가 표시되지 않습니다. 파일>폴더 열기통해 Unreal Engine 프로젝트를 열면 최근에 열린 프로젝트 목록에 열린 Unreal Engine 프로젝트가 나타납니다.
- 일부 확장은 Unreal Engine 프로젝트로 열린 프로젝트에서 작동하지 않을 수 있습니다.
- 원본 파일의 경우 속성 창이 비어 있습니다. 이는 현재 의도된 것입니다.
- 폴더 보기에 Visual Studio 솔루션 파일이 있습니다. Unreal Engine은 이 파일을 생성하지만 Visual Studio에서 사용되지 않으므로 무시할 수 있습니다.
게임 원본 및 엔진 원본이 서로 다른 드라이브에 있습니다.
Unreal Engine 소스 코드와 게임 소스 코드가 서로 다른 드라이브에 있는 경우 게임 코드 프로젝트를 열 때 오류가 나타납니다. 예를 들어 게임이 C:\Users\MyUser\MyGame 있는 경우 Unreal Engine은 C:\ 드라이브의 어딘가에 있어야 합니다. 그렇지 않으면 Visual Studio에서 Unreal Engine 프로젝트 지원을 사용할 수 없습니다.
다음 솔루션 중 하나를 사용하는 것이 좋습니다.
해결 방법 #1: 게임 및 엔진 원본을 동일한 드라이브로 이동
가장 쉬운 해결 방법은 Windows File Explorer사용하여 Unreal Engine이 있는 동일한 논리 드라이브로 게임 프로젝트를 이동하는 것입니다.
Epic Games Launcher통해 설치한 Unreal Engine 원본을 이동하는 경우 엔진을 제거한 다음 게임과 동일한 드라이브에 다시 설치합니다. 이러한 방식으로 엔진 구성 파일은 새 위치를 반영합니다.
동일한 드라이브에 게임 원본 및 엔진 원본이 있으면 Visual Studio에서 .uproject 열 수 있습니다.
해결 방법 #2: Unreal Engine에 대한 기호 링크를 만들고 엔진 연결 속성을 변경합니다.
엔진 원본과 게임 원본을 동일한 드라이브로 이동할 수 없는 경우 Unreal Engine 원본에 대한 기호 링크를 만들고 .uproject 파일의 EngineAssociation 속성을 일치하도록 변경할 수 있습니다.
이 예제에서는 Unreal Engine이 C:\Program Files\Epic Games\UE_5.4 있고 게임이 Q:\src\game있다고 가정합니다.
- PowerShell이 아닌 명령 프롬프트 창을 엽니다.
- 게임 원본이 켜진 드라이브로 이동합니다. 예를 들어
cd /d Q:\. - Unreal Engine을 가리키는 symlink를 만듭니다.
mklink명령은 디렉터리의 위치가 파일 시스템에 표시되는 방식인 기호 링크 이름을 지정하는 링크 매개 변수를 사용합니다. 대상 매개변수는 여러분이 연결하려는 대상입니다. 예를 들어mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4"C:드라이브의 Unreal Engine 디렉터리를 가리키는Q:\UE-Link이라는 기호 링크를 만듭니다. - 게임의
.uproject파일을 열고EngineAssociation속성을 만든 symlink 폴더로 변경합니다. 예를 들어"EngineAssociation": "Q:\\UE-Link".
이제 게임 원본 및 엔진 원본이 동일한 드라이브에 있는 것처럼 보이기 때문에 Visual Studio에서 .uproject 열 수 있습니다. symlink는 파일 참조를 엔진으로 리디렉션하는 작업을 처리합니다.
해결 방법 #3: Unreal Engine에 대한 기호 링크를 만들고 구성 파일을 변경합니다.
이 솔루션은 구성 파일을 변경하고 다음에 Unreal Engine을 업데이트할 때 변경 내용을 되돌릴 수 있기 때문에 취약합니다.
이 예제에서는 Unreal Engine이 C:\Program Files\Epic Games\UE_5.4 있고 게임이 Q:\src\Game
- PowerShell이 아닌 명령 프롬프트 창을 엽니다.
- 게임 원본이 켜진 드라이브로 이동합니다. 예를 들어
cd /d Q:\. - Unreal Engine을 가리키는 symlink를 만듭니다.
mklink명령은 디렉터리의 위치가 파일 시스템에 표시되는 방식인 기호 링크 이름을 지정하는 링크 매개 변수를 사용합니다. 지정한 대상은 연결하려는 객체입니다. 예를 들어mklink /d "Q:\UE-Link" "C:\Program Files\Epic Games\UE_5.4"C:드라이브의 Unreal Engine 디렉터리를 가리키는Q:\UE-Link이라는 기호 링크를 만듭니다. - 편집기에서
C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat엽니다. -
InstallLocation값을 생성한 symlink 경로로 바꿉니다. 이 예제는C:드라이브에 설치된 UE 5.4용이며 symlink는Q:드라이브에 있습니다.
전에:
{
"InstallationList": [
{
"InstallLocation": "C:\\Program Files\\Epic Games\\UE_5.3",
...
"AppName": "UE_5.4"
},
}
후:
{
"InstallationList": [
{
"InstallLocation": "Q:\\UE-Link",
...
"AppName": "UE_5.4"
},
}
이제 게임 원본 및 엔진 원본이 동일한 드라이브에 있는 것처럼 보이기 때문에 Visual Studio에서 .uproject 열 수 있습니다. symlink는 파일 참조를 엔진으로 리디렉션하는 작업을 처리합니다.
관련 콘텐츠
Visual Studio Tools for Unreal Engine
Visual Studio Unreal Engine 클래스, 모듈 및 플러그 인 추가
빠른 시작: Visual Studio Tools for Unreal Engine
Visual Studio Unreal Engine 청사진 보기
Unreal Engine 로그 확인하기 - Visual Studio
Visual Studio에서 Unreal Engine 매크로 보기