使用原始碼建置 Unreal Editor

記錄一下如何使用 Unreal Source Code 建置 Unreal Editor,之後再來分享我透過原始碼研究了哪些東西。

Connect GitHub & Join Epic Organization

要下載到原始碼前要先將 Epic Account 與 GitHub 做連結,進入 帳號管理  -> 應用程式與帳號 -> 帳號

若有安裝 Epic Games Launcher 可以從這裡直接開啟網頁
與 GitHub 進行帳號連結

此時會跳出 EULA 請完成。

請回到 Unreal 帳號頁面重新整理後,確認 Github 已是連線狀態。

我這邊大概過了五分鐘後就有收到 Epic 寄來的確認信件,另外還有兩封 GitHub 記的信件,其中有一封信是邀請你加入 @EpicGames organization。

點擊 Join

若都沒有收到信,也可以直接到 GitHub 內,查看 Your organizations

藍點代表有新通知
多出了 EpicGames 的邀請通知
確認加入

完成後網頁會跳轉到以下

Epic Games
Epic Games has 11 repositories available. Follow their code on GitHub.
Epic Games GitHub

這樣就有權限訪問 Epic Games 的開源庫。


Fork Project

如果有需要修改原始碼,並且再上傳儲存的話,可以使用 Fork 功能。

點選 Fork
建立儲存庫
建立儲存庫完成

Clone Project

前往 Unreal Engine 的 GitHub 看是要直接下載下來,還是透過 GitHub Desktop 來下載都可以,如果有 fork 的請選擇自己底下的 UnrealEngine。

Clone 專案

也可以透過指令下載

git clone https://github.com/EpicGames/UnrealEngine.git
or
git clone git@github.com:EpicGames/UnrealEngine.git
Terminal Clone

若是下載 fork 下載完後,選擇 For my own purposes

選擇如何使用這個 fork

Branches

因為 Unreal 有很多版本,透過切換分支來選擇自己要的版本,在 GitHub Desktop 上,透過 Current Branch 可以切換分支。

Choose Branch

我選擇 5.2 ,之後相關的 commit 就會傳到這個分支。

安裝開發元件

要能夠編譯 Unreal Source Code 系統環境還需要做一些設定

Windows

依照使用的 Unreal 版本安裝對應的 Visual Studio 版本

不同版本使用對應的 VS

透過 Installer 安裝以下元件,並分為兩類

Visual Studio Workloads

  • .NET 桌面開發
  • 使用 C++ 的桌面開發
  • 通用 Windows 平台開發

C++ Tools

  • C++ profiling tools
  • C++ AddressSanitizer
  • Windows 10 SDK (10.0.18362 以上)
  • Unreal Engine installer

MacOS

簡單很多,只要安裝最新 Xcode 即可。

Setup

Windows

在檔案總管中打開剛才 Clone 的 Unreal Engine Source Folder,開啟 Setup.bat 來下載引擎的二進制檔案。

Setup.bat

完成後會自動關閉,接著再點擊 GenerateProjectFiles.bat 來建立 sln 專案檔

完成後也一樣會自動關閉。在資料夾內打開 UE5.sln。

Open UE5.sln

開啟後,設定方案組態為 Development Editor ,方案平台為 Win64

設定方案組態、平台

建置 UE5

右鍵建置及設為啟動專案

開始輸出

按下 F5

MacOS

在 Finder 中打開剛才 Clone 的 Unreal Engine Source Folder,開啟 Setup.command 來下載引擎的二進制檔案。

花了一段時間等待下載完成

接著再點擊 GenerateProjectFiles.command 來建立 xcworkspace 專案。

即可透過 UE5.xcworkspace 來建置 Unreal Editor

選擇 ShaderCompileWorker,然後編譯

Run 開始編譯
編譯完成

編譯完成後,選擇 UE5 再次編譯

選擇 UE5 再次編譯 (應該要一段時間)
編譯完成啟動


Windows Error

我公司的 Windows 很慢,結果輸出了將近十小時,然後出現錯誤,錯誤是一堆 Plugin 的元件找不到

..\Plugins\Developer\VisualStudioCodeSourceCodeAccess\Intermediate\Build\Win64\UnrealEditor\Development\VisualStudioCodeSourceCodeAccess\UnrealEditor-VisualStudioCodeSourceCodeAccess.suppressed.exp”
一些類似的元件找不到

到路徑查看確實是有這些檔案,但 Visual Studio 似乎讀不到,後來發現是路徑太長的關係。

解決方式

第一個可以先查看 regedit 內

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

將上方路徑貼在下方圖上,可以快速到達

LongPathsEnabled 長路徑開啟

LongPathsEnabled 這個值是不是設為 1,若沒有可以右鍵 新增 -> DWORD (32-位元) 值(D) ,取名為 LongPathsEnabled ,點兩下值設為 1 。

數值資料設為 1

設定完畢需要重開機。

如果電腦是屬於專業版或企業版,上述的設定外,還需要再設定以下

到這個路徑內

到上圖的路徑內,選擇 啟用 Win32 長路徑

勾選已啟用

選擇已啟用按下套用,重開機即可再次編譯看看。