IDE의 프로젝트 파일

현재 워크스페이스에서 게임 및 모듈에 대한 프로젝트 파일을 자동으로 생성하는 프로세스입니다.

Choose your operating system:

Windows

macOS

Linux

다음 가이드는 GitHub에서 제공하는 소스 코드에서 UE4를 다운로드하여 빌드한 사용자를 대상으로 합니다.

최신 UE4(언리얼 엔진 4) 코드를 다운로드한 경우 엔진이나 샘플 게임을 컴파일 및 실행하기 위한 VS(Visual Studio) 또는 XCode 프로젝트 파일이 포함되어 있지 않다는 점을 아실 것입니다. 로드할 프로젝트 파일을 생성하는 스크립트를 실행해야 합니다.

  • 메인 UE4 디렉터리에 있는 GenerateProjectFiles.bat 파일을 실행하세요.

    이 스크립트는 모든 폴더에서 실행할 수 있습니다.

  • 프로젝트 생성기에서 모듈과 타깃 빌드 파일을 분석하고 새로운 프로젝트 파일을 생성합니다. 이 작업은 15초 정도 걸릴 수 있습니다.

VS 개발자의 경우 이 작업을 통해 동일한 디렉터리에 UE4.sln 파일이 생성됩니다. 이 솔루션 파일을 사용하여 UE4 게임 및 프로그램을 빌드하고 실행하게 됩니다. 처음 컴파일하는 경우 Win64 플랫폼의 개발 환경설정을 사용하여 빌드하는 것이 좋습니다.

기본적으로 SDK를 탐지한 모든 플랫폼에 대해 빌드 가능한 프로젝트를 생성하므로 콘솔 및 모바일 플랫폼도 빌드 및 디버그할 수 있습니다. 실행 중인 현재 플랫폼(예: Windows) 전용 프로젝트를 생성하려는 경우 GenerateProjectFiles.bat를 -CurrentPlatform 실행인자와 함께 실행하세요. 프로젝트 파일 용량이 약간 줄어듭니다. 프로젝트 파일이 약간 가벼워집니다.

중요 : 소스 컨트롤에서 새로운 코드 변경사항을 동기화한 후 GenerateProjectFiles.bat를 다시 실행해야 합니다. 이 단계를 잊으면 게임을 컴파일하거나 실행할 때 문제가 발생할 가능성이 높습니다.

소스 파일을 추가하거나 제거하는 것과 같이 모듈을 로컬로 변경한 경우 GenerateProjectFiles.bat를 다시 실행해야 합니다. 프로젝트 파일을 수동으로 변경하지 않는 것이 좋습니다.

UnrealVS 익스텐션과의 통합

VS용

[UnrealVS 익스텐션](setting-up-your-production-pipeline/development-setup/visual-studio-setup/UnrealVS)
에는 클릭하여 현재 로드한 솔루션의 프로젝트 파일을 재생성할 수 있는 툴바 버튼이 있습니다.

이 기능에 단축키를 바인딩할 수도 있습니다. VS에서 Tools -> Options -> Environment -> Keyboard를 연 다음 UnrealVS.RefreshProjects를 검색합니다.

이 기능은 툴이 어떤 프로젝트의 코드 분기를 생성해야 하는지 알아야 하기 때문에 솔루션을 로드한 후에만 사용할 수 있습니다. 아직 UE4.sln 파일을 생성하지 않은 경우 먼저 GenerateProjectFiles.bat 스크립트를 직접 실행해야 합니다.

명령줄 옵션(고급)

프로젝트 생성기에는 생성된 프로젝트 파일을 필요에 더 잘 맞게 커스터마이징하고자 할 때 사용할 수 있는 옵션 명령줄 실행인자가 있습니다. 일반적으로 이러한 옵션은 필수거나 권장 옵션이 아닙니다.

옵션

설명

-CurrentPlatform

탐지된 모든 사용 가능한 타깃 플랫폼이 아니라 현재 데스크톱 플랫폼(Windows 또는 Mac)만을 위한 빌드 가능한 프로젝트를 생성합니다.

-2015

VS 2015 네이티브 포맷으로 프로젝트를 생성합니다. 이 옵션을 설정하면 Visual C++ 2015 컴파일러를 사용하여 컴파일합니다.

-2017

VS 2017 네이티브 포맷으로 프로젝트를 생성합니다. 이 옵션을 설정하면 Visual C++ 2017 컴파일러를 사용하여 컴파일합니다.

-ThirdParty

서드 파티 라이브러리의 헤더 및 기타 파일을 프로젝트에 추가합니다. 예를 들어 Visual Assist for PhysX, Steamworks 또는 Bink의 심볼과 파일을 보고 싶은 경우에 유용할 수 있습니다. 그러나 이렇게 하면 프로젝트 파일을 로드하는 데 더 오래 걸립니다!

-Game GameName

프로젝트 생성기가 지정된 프로젝트 이름에 대한 코드 및 콘텐츠만 포함하고 발견된 다른 모든 프로젝트는 제외한 프로젝트를 생성하도록 지시합니다. 프로젝트 이름도 지정해야 합니다. 예를 들어 GenerateProjectFiles.bat ShooterGame.uproject -Game 은 ShooterGame의 소스 및 타깃만 있는 프로젝트를 생성합니다. 단일 게임 프로젝트와 함께 엔진 소스 코드 및 프로그램을 포함하려는 경우 -Engine 파라미터를 전달할 수도 있습니다.

-Engine

-Game 과 함께 사용하면 생성된 솔루션에 엔진 코드, 콘텐츠, 프로그램도 포함되도록 합니다. 이 기능은 게임 프로젝트 작업 시 엔진 소스를 많이 사용해야 할 경우 유용합니다.

-NoIntelliSense

IDE의 자동 완성 및 오류 표시선에 사용되는 IntelliSense 데이터 생성을 건너뜁니다.

-AllLanguages

모든 언어의 엔진 문서를 포함합니다. 기본적으로 프로젝트에는 영어 파일만 포함됩니다.

-OnlyPublic

지지정하면 엔진 모듈에 대해 생성된 프로젝트에 퍼블릭 헤더 파일만 포함됩니다. 기본적으로 엔진 모듈에 대한 모든 소스 파일이 포함됩니다. 이렇게 하면 프로젝트 로드 시간은 빨라지지만 엔진 코드를 탐색하기는 더 어려워질 수 있습니다.

-NoShippingConfigs

생성된 프로젝트에서 ShippingTest 빌드 환경설정을 생략합니다. 이렇게 하면 처리할 타깃 환경설정 수가 줄어듭니다.

-Platforms=PlatformName

빌드 가능한 프로젝트를 생성할 플랫폼의 디폴트 세트를 오버라이드하고 대신 지정한 플랫폼에 대해 프로젝트를 생성합니다. '+' 문자로 구분하여 여러 플랫폼을 지정할 수 있습니다. 또한 이렇게 하면 생성된 솔루션 파일의 이름에 플랫폼 이름이 접미사로 포함됩니다.

FAQ

프로젝트 파일을 업데이트하지 않았는데도 새로 추가된 소스 파일이 컴파일되는 이유는 무엇인가요?

UE4 빌드 시스템은 실제로 코드를 컴파일하는 데 프로젝트 파일이 필요하지 않습니다. 언리얼 빌드 툴은 항상 모듈과 타깃 빌드 파일을 사용하여 소스 파일을 찾습니다. 따라서 새 소스 파일을 추가하고 컴파일을 트리거하면 프로젝트 파일을 새로고침하지 않아도 새로운 소스 파일이 빌드에 포함될 수 있습니다. 이 점은 기억해 두면 좋습니다.

실제 프로젝트는 어디에 저장되나요?

VS 프로젝트의 경우 생성된 솔루션 파일은 UE4.sln이며 루트 UE4 디렉터리에 저장되지만, 프로젝트 파일은 /UE4/Engine/Intermediate/ProjectFiles/ 디렉터리에 저장됩니다. 언제든 이 파일을 삭제하고 프로젝트를 다시 생성해도 되지만, 이 파일을 삭제하면 명령줄 실행인자 스트링과 같은 프로젝트별 개인설정이 손실될 수 있습니다.

프로젝트 파일을 생성하면 어떤 이점이 있나요?

확실한 장단점이 있지만 UE4의 프로젝트 파일을 생성하기로 한 데는 몇 가지 중요한 이유가 있습니다.

  • UE4는 여러 플랫폼에서 작동하도록 설계되었지만, 팀에 따라서 항상 특정한 몇몇 플랫폼에서만 작업할 가능성이 있습니다. 프로젝트 파일을 생성하면 관련 없는 플랫폼 전용 파일과 빌드 환경설정을 생략할 수 있습니다.

  • UE4 프로그래밍 방법론은 여러 하위 모듈을 통합하며, 프로그래머가 쉽게 새로운 모듈을 포함할 수 있도록 하는 것이 중요한 안건이었습니다.

  • UE4 코드로 작업하는 동안 프로젝트 생성기가 고도로 정확한 정의를 내보내고 VS IntelliSense에서 사용하는 경로를 포함합니다.

  • 프로젝트 파일을 자동으로 생성할 때 새 프로젝트를 구성하기가 더 쉽습니다.

  • 다양한 플랫폼 및 개발 환경을 지원하고자 합니다(예: VS 및 Xcode). 여러 프로젝트 파일 세트를 수동으로 관리하면 오류가 발생하기 쉽고 지루한 작업이 되기 쉽습니다

  • 프로그래머가 고도로 커스터마이징된 프로젝트 파일을 생성할 수 있도록 하고자 했습니다. 시간이 지날수록 이러한 특징이 더욱 중요해질 것으로 기대합니다.

  • 소스 파일의 디렉터리 구조는 프로젝트 파일 솔루션 계층구조에 자동으로 미러링됩니다. 이러한 기능으로 인해 소스 파일을 탐색할 때는 매우 편리하지만 수동으로 작성한 프로젝트를 관리하기는 어려웠습니다.

  • UE4 빌드 환경설정은 매우 복잡하며 수동으로 관리하기 어렵습니다. 프로젝트 생성기는 이러한 환경설정을 개발자가 쉽게 이해하고 관리하게 해 줍니다.

프로젝트에서 다른 파일은 어떤 역할을 하나요?

C++ 모듈의 소스 코드 외에도 생성된 프로젝트에 여러 다른 파일을 자동으로 추가합니다. 이렇게 하면 검색할 때 이러한 파일을 쉽게 찾을 수 있습니다. 생성된 프로젝트에 추가되는 일부 다른 파일의 예시는 다음과 같습니다.

  • 셰이더 소스 코드(*.usf 파일)

  • 엔진 문서 파일(*.udn 파일)

  • 프로그램 환경설정 파일(*.ini 파일)

  • 현지화 파일(*.int 파일)

  • 프로그램 리소스 파일 및 매니페스트(*.rc, .manifest)

  • 특정 외부(생성되지 않은) 프로젝트 파일(예: 언리얼 빌드 툴, Clean)

소스 컨트롤에 체크인된 프로젝트 파일이 없는 이유는 무엇인가요?

소스 컨트롤 충돌을 프로젝트 파일에 병합하는 일은 지루하고 오류가 발생하기 쉬운 작업입니다. 새로운 시스템은 프로젝트 파일을 순수한 중간 파일로 취급하여 이러한 문제를 완전히 방지합니다. 또한 솔루션 파일은 서로 다른 게임 프로젝트에서 작업하는 팀마다 다릅니다. 에픽에서 사용하는 프로젝트 파일은 수정을 거치지 않으면 다른 팀에서는 유용하지 않을 수 있습니다.

`GenerateProjectFiles.bat` 는 실제로 어떤 역할을 하나요?

이 스크립트는 언리얼 빌드 툴의 간단한 래퍼로, 프로그램 실행파일을 빌드하는 대신 프로젝트 파일을 빌드하는 특수한 모드로 실행됩니다. 스크립트는 -ProjectFiles 명령줄 옵션으로 언리얼 빌드 툴을 호출합니다.

프로젝트 생성기 코드를 변경하고 있습니다. 어떻게 디버그하나요?

  • 스타트업 프로젝트를 언리얼 빌드 툴로 변경합니다.

  • 디버깅할 명령줄 파라미터를 다음으로 설정합니다. -ProjectFiles

  • 작업 디렉터리를 다음에 대한 로컬 경로로 설정합니다. [내 UE4 디렉터리]/Engine/Source/

  • 평소와 같이 컴파일하고 디버그하세요.

작업 중 프로젝트 생성기로 인해 VS에서 사용하고 있는 프로젝트 파일이 손상될 수 있습니다. 이런 이유로 언리얼 빌드 툴 프로젝트는 일반 UE4 솔루션 파일을 통해 디버깅하는 대신 직접 VS에 로드하는 것이 유용할 수 있습니다.

여러 환경설정을 동시에 빌드하려면 어떻게 해야 하나요?

VS의 배치 빌드(Batch Build) 기능을 사용할 수 있습니다. 이 기능은 'Build' 메뉴에서 찾을 수 있습니다 컴파일할 모든 환경설정을 선택하고 'Build'를 클릭하기만 하면 됩니다. 추후 이 인터페이스를 더 쉽게 사용할 수 있도록 만들 방법을 찾고 있습니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.