언리얼에서 제공하지 않거나 커스터마이징 해야 할 때, 언리얼 풀 소스를 수정할 필요가 있다.
나 같은 경우에는 IOS에서 홈바 처리로 인해 풀소스 빌드를 해보았다.
https://www.unrealengine.com/en-US/ue-on-github
언리얼에 깃허브 계정 등록 후 원하는 엔진 버젼의 레포지를 다운로드한다.
받고 나면 Setup.bat, GenerateProjectFile.bat를 실행한다.
각각 실행 의존성 파일 설치와 프로젝트 파일 생성을 하게 되는데,
빌드를 하기 위해 필요한 필수 과정들이다.
언리얼 프로젝트처럼GenerateProjectFile 실행파일은 컴파일된 오브젝트 파일
에셋 레지스트리, 프로젝트 파일 등을 생성해 각 작업자가 실행해 주면 되기 때문에
형상 관리 프로그램에서는 Setup.bat 이후로 다 추가해 주면 된다.
그럼 .sln 파일로 엔진 소스를 켜서 DevelopmentEditor + {OS} + Ue4 로 빌드를 하면 된다.
한참 뒤에 빌드가 완료되면 에디터가 켜지게 될 것이다.
만약 빌드 결과물을 소스 제어 할 경우에는 Engine/Binaries 디렉터리를 등록하면 됨.
과정에서 임시파일이나 Intermediate 폴더 (플러그인 폴더 포함)는 소스 제어 제외 시켜주자.
이렇게 소스 엔진 폴더 내 빌드된 결과물로 협업을 하려면 관리가 어렵고 소스 용량이 크기 때문에
엔진 관리 레포지 <-> 엔진 결과물 레포지로 나누는 것이 좋다.
엔진팀에서는 엔진만 관리하고, 프로젝트 팀에서는 배포된 엔진 파일을 통해, 프로젝트 작업을 할 수 있을 것이다.
InstalledBuild, Unreal Build Graph 개념으로 언리얼 허브에서 받는
제공되는 엔진 결과물을 만드는 과정이라고 생각하면 편하다.
BuildGraph, 빌드 스크립트를 명령을 통해서 설치 빌드를 뽑아내면 되는데
1. Engine/Build/InstalledEngineBuild.xml 명령어 확인
2. Automation Tool 호출을 통해 빌드 스크립트 실행 -> 빌드 운영체재 지정
3. 별도로 지정하지 않은 경우 해당 엔진 디렉터리의 LocalBuilds/Engine/ 폴더에 설치 빌드 생성 완료
명령어 예시
[IOS]
"{EnginePath}/Engine/Build/BatchFiles/RunUAT.sh" BuildGraph -target="Make Installed Build Mac" -script="Engine/Build/InstalledEngineBuild.xml" -set:HostPlatformOnly=true -set:WithDDC=false -set:SignExecutables=false -set:WithWin64=false -set:WithAndroid=false -set:WithLinux=false -set:WithMac=true -set:WithIOS=true -clean
[AOS]
"{EnginePath}/Engine/Build/BatchFiles/RunUAT.bat" BuildGraph -target="Make Installed Build Win64" -script="Engine/Build/InstalledEngineBuild.xml" -set:HostPlatformOnly=true -set:WithDDC=false -set:SignExecutables=false -set:WithWin64=true -set:WithAndroid=true -set:WithLinux=false -set:WithMac=false -set:WithIOS=false -clean
어떤 환경의 설치 빌드를 만드는지, 사용할 빌드 스크립트 지정, 그밖에 파라미터를 통해
설치 빌드를 만드는 오토메이션 툴을 통해 명령한다.
InstalledEngineBuild.xml 파일을 까서 보면 "Make Installed Build Win64" 등 각 옵션에 따른 값을 확인
각 플랫폼, 운영체제에 따른 옵션 및 파라미터를 설정할 수 있다.
만약에 특정 os에서 빌드 실패 시 InstalledEngineBuild.xml 직접 수정을 해야 할 일이 생길 수도 있다.
나 같은 경우에도 ios 설치 빌드가 뽑히지 않아서 아래와 같이 수정했었다. -createstub 삭제 후 성공적으로 설치빌드가 되었었다.
운영체제 또는 버전에 따라 나타날 수 있는 여러 가지 변수들이 있기 때문에, 차근히 여유를 가지고 작업하는 게 좋을 것 같다..
'STUDY > Unreal Engine' 카테고리의 다른 글
UnrealPak 명령어, Chunk와 Pak파일 (0) | 2023.10.18 |
---|---|
RunUAT(Unreal Automation Tool) BuildCookRun 명령어로 패키징 (0) | 2023.10.17 |
블랜더 에드온 Send2UE (Blender <-> UnrealEngine 연동 에드온) 사용법 (0) | 2023.01.02 |
Unreal Engine - 플러그인 제작, 플러그인 CDO 객체(클래스) 적재 실패 해결 (Failed to load c++ class (plugin)) (0) | 2022.06.09 |
UE5 - 언리얼 UClass, CDO, UHT, New Object, Constructor, C++ 개념 및 정리 (0) | 2022.05.24 |