이번 학기 진행하던 프로젝트중 하나가 언리얼 엔진을 직접 빌드하고 엔진 소스를 수정해가는 과정이 있었다. 언리얼 엔진을 빌드하는게 처음에는 엄청 쉬워보였는데, 하다보니 수많은 오류들을 겪었다. 다음번에 빌드할때는 실수없이 잘 해보기 위해서 이 글로 기록해놓는다.
https://docs.unrealengine.com/5.0/ko/building-unreal-engine-from-source/
https://github.com/EpicGames/UnrealEngine
언리얼 에디터빌드는 언리얼 공식문서에 잘 정리되어있다(심지어 한글번역 퀄도 괜찮다).
이대로 따라가면 된다.
일단 Unreal Github Repository에서 clone해오는 속도도 드럽게 느리고
Setup.bat로 바이너리파일 다운받는 속도도 드럽게 느리다.
무조건 다른 할일을 하면서 받는걸 추천한다.
그리고 모든 세팅을 마치고 .sln파일을 생성해서 빌드를 시작하게 되는데
이 빌드 과정이 또 엄청 느리다. 공식 Github문서에서는 10분-40분정도 걸린다고 써있는데, 내 실제 빌드시간은 UE4는 30분, UE5는 60분정도 걸렸다.(CPU는 i7-12700)
게다가 램도 엄청 잡아먹는다(26GB ㄷㄷ).
1시간 넘게 UE5를 빌드하고 에디터를 처음 실행했을때 위와 같은 에러가 떳었다.
이 에러는 1시간동안 빌드할때는 전혀 문제없다가 에디터를 실행할때 발생하는 악질적인 에러라고 할 수 있다.
https://forums.unrealengine.com/t/trying-to-compile-ue5-0-3-from-source-failed-with-not-found-unrealeditor-visualstudiocodesourcecodeaccess-suppressed-exp/620297/2
https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry
위 링크들에서 문제점을 찾을 수 있었는데, 바로 윈도우 응용프로그램에는 260자의 프로그램명 제한이 있는게 문제였다.
해결: C://ProgramFiles//Epic Games 경로에 엔진코드를 옮겨서 해결했다.
처음 빌드할때는 멋모르고 UE5.sln파일 전체 솔루션 빌드를 눌러서 빌드를 했었다.
이래도 잘 되긴 하는데, 문제는 빌드시간이 거의 2시간이 걸렸다. 그 이유는 언리얼 엔진은 언리얼 엔진외에 부가적인 외부 프로그램들 또한 UE5.sln에 속해있다. 예를 들자면, 빛을 bake하는 프로그램같은 것이 있다. 그래서 처음 빌드할때는 무조건 UE5.vcxproj만 우클릭해서 빌드하도록 하자.
언리얼 에디터를 직접 빌드하면 용량이 미쳐날뛴다. 100기가는 우습게 넘긴다.
그 이유는 일반적으로 epic games launcher로 설치하는 언리얼 엔진은 최종 바이너리 파일만 다운받는 형태이지만, 직접 빌드하는 언리얼 에디터는 최종 바이너리 파일+ 중간단계에 생성된 .obj파일들이 모조리 포함되기 때문이다. 그래서 저장장치에 충분한 용량을 확보하고 빌드를 시도해야 한다.