使用原始碼建置 Unreal Editor
記錄一下如何使用 Unreal Source Code 建置 Unreal Editor,之後再來分享我透過原始碼研究了哪些東西。
Connect GitHub & Join Epic Organization
要下載到原始碼前要先將 Epic Account 與 GitHub 做連結,進入 帳號管理
-> 應用程式與帳號
-> 帳號
。
此時會跳出 EULA 請完成。
請回到 Unreal 帳號頁面重新整理後,確認 Github 已是連線狀態。
我這邊大概過了五分鐘後就有收到 Epic 寄來的確認信件,另外還有兩封 GitHub 記的信件,其中有一封信是邀請你加入 @EpicGames organization。
若都沒有收到信,也可以直接到 GitHub 內,查看 Your organizations
完成後網頁會跳轉到以下
這樣就有權限訪問 Epic Games 的開源庫。
Fork Project
如果有需要修改原始碼,並且再上傳儲存的話,可以使用 Fork 功能。
Clone Project
前往 Unreal Engine 的 GitHub 看是要直接下載下來,還是透過 GitHub Desktop 來下載都可以,如果有 fork 的請選擇自己底下的 UnrealEngine。
也可以透過指令下載
git clone https://github.com/EpicGames/UnrealEngine.git
or
git clone git@github.com:EpicGames/UnrealEngine.git
若是下載 fork 下載完後,選擇 For my own purposes
Branches
因為 Unreal 有很多版本,透過切換分支來選擇自己要的版本,在 GitHub Desktop 上,透過 Current Branch
可以切換分支。
我選擇 5.2 ,之後相關的 commit 就會傳到這個分支。
安裝開發元件
要能夠編譯 Unreal Source Code 系統環境還需要做一些設定
Windows
依照使用的 Unreal 版本安裝對應的 Visual Studio 版本
透過 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
來下載引擎的二進制檔案。
完成後會自動關閉,接著再點擊 GenerateProjectFiles.bat
來建立 sln 專案檔
完成後也一樣會自動關閉。在資料夾內打開 UE5.sln。
開啟後,設定方案組態為 Development Editor
,方案平台為 Win64
。
建置 UE5
開始輸出
MacOS
在 Finder 中打開剛才 Clone 的 Unreal Engine Source Folder,開啟 Setup.command
來下載引擎的二進制檔案。
接著再點擊 GenerateProjectFiles.command
來建立 xcworkspace 專案。
選擇 ShaderCompileWorker,然後編譯
編譯完成後,選擇 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
這個值是不是設為 1,若沒有可以右鍵 新增
-> DWORD (32-位元) 值(D)
,取名為 LongPathsEnabled
,點兩下值設為 1 。
設定完畢需要重開機。
如果電腦是屬於專業版或企業版,上述的設定外,還需要再設定以下
到上圖的路徑內,選擇 啟用 Win32 長路徑
選擇已啟用按下套用,重開機即可再次編譯看看。