unity需要載入dll嗎,unity可以使用自己編寫的dll嗎

時間 2022-03-10 17:00:19

1樓:育知同創教育

unity中,在unity專案中使用mono dll(動態連結庫)的。

原因如下:

1:選擇用來開發的程式語言並不被unity支援(如 f#),這個時候就可以考慮把這樣的**編譯成dll檔案。

2:如果並不想讓**公開,只是想提供呼叫介面,那麼dll是一個很好的選擇。

2樓:蘑菇飯資訊

我現在參與的專案是做mmo手遊,目標平臺是android和ios,ios平臺不能動態載入dll(什麼原因找喬布斯去),可以直接忽略,而在android平臺是可以動態載入dll的,有了這個就可以實現**更新,不過實際上,在unity裡要用上動態載入dll是有很多限制的(不瞭解的話就是坑)。

限制1:在android手機裡動態載入dll不能使用assembly.loadfile(string path),只能使用assembly.

load(byte rawassembly)這個介面,所以要自己想辦法先讀出來。

限制2:動態載入的指令碼不能在編輯器裡掛在prefab上。

限制3:如果指令碼在動態dll裡,呼叫addcomponent()掛此指令碼上prefab上時不能使用addcomponent(「somescript」)的方式呼叫,要用addcomponent(type.gettype(「somescript」))。

限制4:在動態dll裡使用[requirecomponent(typeof(somescript))]無效,所以不能使用。

我目前主要就是遇到這些坑,以後有什麼新發現再進行補充。

修正&補充:在ios下不是都不能動態載入dll,越獄的手機可以實現,具體可參考文章:http:

//blog.csdn.net/lucky_06/article/details/9093879,親測沒問題。

再次修正:ios實際上還是不能實現真正的**熱更新,使用上述方法只能呼叫外部dll的介面,但執行邏輯還是在native code裡面。簡單的說,之前我測試的時候是專案裡面有a.

dll的**,然後再assembly.load a.dll進來,呼叫a.

dll裡面的方法是可以的,但實際是呼叫了專案裡的**,如果專案裡沒有a.dll的**,呼叫會報錯,以上。

unity可以使用自己編寫的dll嗎

unity3d dll 放**

unity3d怎麼使用c#的dll

unity點選按鈕後可以使隱藏的物體顯示出來

解決 public button button private void start unity遊戲開發實戰 結合unity這種多平臺的整合引擎和器,介紹如何使用unity建立遊戲 新增互動性,以及修飾遊戲併發布遊戲的所有知識。本書分為五部分,每一章都介紹一個獨立的概念,並且循序漸進地講述新的概念,...

使用unity3d開發遊戲需要學習3d建模嗎

長沙新華電腦學院 unity3d 是一個很不錯的遊戲開發工具,可以三維建模,製作各種遊戲,如果想學得比較好的話,可以到這邊看看噠,不錯的 呮洇洧沵 unity3d用的c 和開發winform asp.net的c 是不一樣的,主要是作為一種指令碼語言來進行場景中物件的控制和和業務邏輯的實現,所以如果有...

住宅小區可以使用煤爐嗎,住宅小區可以使用煤爐嗎?

冰點玫瑰 如果物業公司沒有明確規定的話,一般可以,現在都使用天然氣,你使用煤爐多汙染空氣呀 幹香旋 購樓風水要注意如何幾點 一個是家宅門向的地運問題,另一個是樓層的所購,再一個就是家宅入夥儀式的講究 大門是家宅的主要地運,是最主要的影響部分,大門的座向不同,所影響家宅運氣都不同.無論家宅在短期內或長...