在UE4使用Perforce進行版本控制的方法

更新於 發佈於 閱讀時間約 5 分鐘
2022/01/01 編輯:簡單補充一下
我使用Perforce的目的是為了備份UE4專案,同時進行版本控制,也就是避免手殘不小心改壞的時候,可以還原成之前的版本,完全沒有進行多人協作的需求。如果讀者有協作的需要,或許就不適用這篇的方法,或是需要進行調整。

Unreal Engine4比較常用的版本控制有Git, Svn, Perforce等
UE官方有做過直播比較,https://youtu.be/JxXydvG4mlI,長度有兩個多小時,有興趣的話再看就好
Perforce的優點很多,最關鍵的一點是,官方是以Perforce為前提來做UE的版控,所以該有的功能都整合好了,像是Blueprint也可以直接透過內建功能做diff;缺點是使用者超過五人時要錢、Server環境不好架、教學很少等
但其實直接在Win10同時安裝Client及Server就很容易了,這樣做的缺點是幾乎沒有安全備份的意義,不過只要把Server資料夾的所有檔案,透過雲端備份服務備份到其他地方(GoogleDrive、Dropbox...等),就可以達到備份的功能了。
我自己測試過,在同一台電腦,即使把Server程式砍了,事後重新安裝並再次指定資料庫使用相同資料夾,Server可以自動識別資料夾內的資料庫,並且可以直接使用,不過還沒測過不同電腦的情況,所以我不敢打包票會不會出問題。

安裝方式如下:
首先,跟著Perforce官方教學
把Server跟Client灌到同一部Windows機器,依序安裝Server端及Client端(P4V),順序反了就會無法安裝,安裝Server端時記得選要將Server Folder設在什麼地方
跟著影片做到4:56,建立workspace時要特別注意
打好名稱設好位置之後,必須按到Advance Tab
勾選Allwrite、Modtime、Rmdr等三個項目
然後再將On submit設定為Revert unchanged files
之後才可以按下OK來創建workspace,不然未來檔案Sync時可能會造成Error
此外因為UE4不支援太長的資料夾路徑,所以Workspace記得不要放得太深
然後這個影片做到這邊就可以了,5:00之後不用管
剩下的換下個影片,基於這個影片 https://youtu.be/faYmvw_Pd-A?t=1316
將要版本控制的Project資料夾直接複製到workspace裡
然後用UE4開啟Project,進入SourceControl的設定,將專案連上Perforce
在資料夾中用記事本建立p4ignore檔案,檔名為「.p4ignore」
填入以下內容,可以隨個人喜好增減
Build/
Intermediate/
DerivedDataCache/
*.sln
之後在P4V選擇好Workspace,選File->Open Command Window Here
用指令列輸入下列指令,(指令最後面為檔名)
p4 set P4IGNORE=.p4ignore
需要的話可以用下列指令檢驗是否設定成功
p4 ignores
(注意:影片裡面p4ignore方法沒提到這個步驟,實測後發現不做不行)
回到P4V,對專案資料夾Add,再Commit後就可創立第一份Initial Commit
連接Perforce後,若開啟還沒有BuiltData的Level,會出現Shared Data Cache not in use, performance is impacted.的錯誤訊息,實測後DDC仍然有在正常工作,直接把產生的BuiltData檔Checkout後應該就沒問題了(不確定)
可參考這裡 https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/ 及這裡 https://www.youtube.com/watch?v=coDIWds02DE
另外,Visual Studio的部分需要裝Plugin才能使用Perforce
可以參考這個影片 https://youtu.be/z4TAeDMfcuk
參考資料
Allar’s Blog
https://allarsblog.com/2017/04/05/populating-perforce-with-an-unreal-engine-source-build/
Perforce的用法
https://www.youtube.com/watch?v=ix4iaGr3kPI
為什麼會看到廣告
avatar-img
3會員
40內容數
在此記下各種虛幻引擎(UnrealEngine)開發遊戲時的相關技術,是專業取向的專題。內容將涉及程式、美術、音效、軟體使用,族繁不及備載。同時也會有各種操作秘訣、訣竅、背景知識,甚至是冷知識等。文章內容往往不知輕重,大部分的人都無法輕易看懂,不求大紅,只求幫上有緣人。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
園長的沙龍 的其他內容
vocus目前還不能貼程式碼的樣子,殘念 https://pastebin.com/hAQr5jnC 程式碼在網址哩,在Excel裡Alt+F11開啟巨集後貼上 將"絕對路徑"更改成想要的路徑,例如"C:\split" 回到Excel,把想存的Sheet用Ctrl或Shift同時選取後 Alt+F8
vocus目前還不能貼程式碼的樣子,殘念 https://pastebin.com/hAQr5jnC 程式碼在網址哩,在Excel裡Alt+F11開啟巨集後貼上 將"絕對路徑"更改成想要的路徑,例如"C:\split" 回到Excel,把想存的Sheet用Ctrl或Shift同時選取後 Alt+F8
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章將介紹工程師使用版控和git的相關知識和技能,包括版本控制的意義和git的基本指令,以及開發流程和webhook的概念。
版本控制 (Version Control), 是一種追蹤檔案被更改歷史的技術, 是團隊合作必備的工作實務[1]。 我在博士一二年級時期, 比較像是單打獨鬥, 與合作的學弟妹也是一對一溝通, 可以維持同步,把研究成果做出來。 然而,當我到博士三年級以後,
Thumbnail
呢排搞件PVE,寫返篇自己的技術筆記先。 PVE,Proxmox Pro,Proxmox Virtual Environment,呢個係Sales 用的名詞,分分鐘係啲0codeSales 0codePM隨口出來比Upsell 個客用,其實當你覺得DevOps同Programmer係唔同(而人
Thumbnail
在進行Electron 專案時,後端夥伴選擇將 sqlite 資料庫跟專案檔打包成一個執行檔。在開發過程中,前端的操作經常會更動到 db的資料,此時 Git 就會追蹤到 db 的變化,因此前端在推送檔案到遠端 repo 前,會需要將其移出 Git 追蹤範圍,該怎麼做?
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
關於Git(一) 版本管理系統是什麼?為什麼要用? 版本管理系統(Version Control System,VCS)是一種追蹤和管理項目代碼、文件和資源變更的工具。 工作流程上可防止每個人因使用自己的開發程式搭配不同且不相容的工具所引起的混亂。版本控制會同步處理版本,並確定變更不會與其他人
Thumbnail
本文教授如何安裝Ubuntu伺服器,建議選擇偶數版本如22.04, 20.04, 18.04等LTS版本以獲得穩定的未來性支撐。
Thumbnail
本文將介紹如何在ESXI 8上安裝vCenter Server以及相關設定步驟,包括ISO光碟檔下載、掛載ISO、填入安裝目標、設定網域以及管理者密碼等。
Thumbnail
本文將介紹如何從原廠註冊處獲得更新zip檔案,並透過SSH上傳到esxi主機,以及更新和安裝的方式。
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
這篇文章將介紹工程師使用版控和git的相關知識和技能,包括版本控制的意義和git的基本指令,以及開發流程和webhook的概念。
版本控制 (Version Control), 是一種追蹤檔案被更改歷史的技術, 是團隊合作必備的工作實務[1]。 我在博士一二年級時期, 比較像是單打獨鬥, 與合作的學弟妹也是一對一溝通, 可以維持同步,把研究成果做出來。 然而,當我到博士三年級以後,
Thumbnail
呢排搞件PVE,寫返篇自己的技術筆記先。 PVE,Proxmox Pro,Proxmox Virtual Environment,呢個係Sales 用的名詞,分分鐘係啲0codeSales 0codePM隨口出來比Upsell 個客用,其實當你覺得DevOps同Programmer係唔同(而人
Thumbnail
在進行Electron 專案時,後端夥伴選擇將 sqlite 資料庫跟專案檔打包成一個執行檔。在開發過程中,前端的操作經常會更動到 db的資料,此時 Git 就會追蹤到 db 的變化,因此前端在推送檔案到遠端 repo 前,會需要將其移出 Git 追蹤範圍,該怎麼做?
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
關於Git(一) 版本管理系統是什麼?為什麼要用? 版本管理系統(Version Control System,VCS)是一種追蹤和管理項目代碼、文件和資源變更的工具。 工作流程上可防止每個人因使用自己的開發程式搭配不同且不相容的工具所引起的混亂。版本控制會同步處理版本,並確定變更不會與其他人
Thumbnail
本文教授如何安裝Ubuntu伺服器,建議選擇偶數版本如22.04, 20.04, 18.04等LTS版本以獲得穩定的未來性支撐。
Thumbnail
本文將介紹如何在ESXI 8上安裝vCenter Server以及相關設定步驟,包括ISO光碟檔下載、掛載ISO、填入安裝目標、設定網域以及管理者密碼等。
Thumbnail
本文將介紹如何從原廠註冊處獲得更新zip檔案,並透過SSH上傳到esxi主機,以及更新和安裝的方式。