MMO專案15G,采用C#熱更
增加一個C#檔案需要,編譯時間1分15秒
在修改頻繁UI需求時,啟動游戲30秒+1分15秒
程序非常難受,所以利用熱重
熱多載
能節省寶貴的時間

技術原理:
利用 Unity Edtior 編譯 cs檔案,生成dll
運行時通過反射,為方法重新分配指標
實操:
如果專案條件允許建議大家使用ET6的框架,自帶了現在的方案
但需要使用U3D2020+VS2022
由于我們專案沒有使用ET6的框架,加上專案版本比較老(UNITY3D2017),所以抽離了熱多載代碼
1:類別庫專案-撰寫熱多載代碼
撰寫代碼組件,輸出HelloWorld
2:利用 Unity Edtior 編譯 cs檔案,生成dll
3:運行時加載 dll
看到Log “Hello World”
4:修改 “Hello World” ->“Hot Reload HelloWorld”
回傳第3步
5:方法多載(完成)
詳情:
類別庫專案,放在UNITY外邊,這樣就不會成為UNITY資源,所以不會觸發檔案檢查

U3D運行時編譯代碼

總結:
使用ET6的框架,集成了很多功能
假如只需要熱多載功能可以下載這個原始碼
需要原始碼下載見B站視頻
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394089.html
標籤:其他
