[Unity手札]如何製作Unity的C# DLL檔

Chris Lin
5 min readNov 27, 2018

--

前些日子,需要將專案的部分內容封裝成DLL檔,提供給別人使用。說實在的,我還真的很少特別將程式碼的部分功能抽離出來製作成DLL的經驗。於是就想說還是紀錄一下該如何製作DLL檔吧。

安裝Visual Studio Community 2017

首先,你必須先安裝Visual Studio Community 2017,安裝其他的版本應該也不會有太大的差異。如果你在開發Unity時是用Visual Studio,就不會需要安裝Visual Studio。
下載連結
https://visualstudio.microsoft.com/zh-hant/thank-you-downloading-visual-studio/?sku=Community&rel=15

安裝.Net桌面開發

開啟Visual Studio之後,在[工具/取得工具與功能]這個項目裡確認.Net桌面開發是否已經安裝。如果沒有的話就將其勾選並按下修改,此時就等待安裝完畢。(期間可能會要求你關閉Visual Studio,就把它關閉吧)

開啟Visual Studio Installer
安裝.NET桌面開發

建立新專案

安裝好.NET桌面開發套件之後,重新開啟Visual Studio。按下[檔案/新增/專案]項目來新增專案。開啟新增專案視窗之後選擇Visual C#,可以在視窗的中間看到可以開啟的專案類型。選擇[類別庫(.NET Framework)]。注意是選擇.NET Framework的類別庫類型,不是選擇.NET Standard類別庫類型。

在下方有名稱、位置、方案名稱、架構等設定。名稱會跟方案名稱一樣,就是你輸出成DLL時的名稱來命名專案。位置就是專案會在哪個路徑底下產生。架構就選擇.NET Framework 3.5,因為Unity對.NET Framework 3.5的支援度比較好。也可以設定為.NET Framework 4.0,只是在Unity的專案設定上要特別選擇支援4.0的版本,否則DLL匯入時會有錯誤訊息。

開啟新專案
選擇專案類型與設定專案基本設定

引用UnityEngine

開啟專案後在專案項目上按下右鍵,選擇[加入/參考]打開參考管理員,透過瀏覽選項來選擇Unity提供的dll。Unity的dll路徑在你安裝的Unity資料夾裡的[Editor\Data\Managed\UnityEngine]這裡,把你需要用到的dll加進來。基本上會需要UnityEngine.dll,如果是開發Editor工具,就會需要UnityEditor.dll。

加入dll參考
引用Unity的dll

確認專案屬性資訊

在專案項目上按下右鍵,選擇[屬性]打開屬性設定視窗,確認應用程式裡的目標Framework是.NET Framework 3.5,輸出類型為類別庫。其他的設定則看你的需求去變更。

打開屬性視窗
確認目標Framework與輸出類型

編譯為DLL

寫好程式之後就可以試著編譯成DLL看看。在專案項目上按下右鍵,選擇[建置]就會開始編譯程式碼。會根據你編譯的類型是Debug或Release放置到指定的資料夾。

編譯程式碼

匯入到Unity

當一切都準備好後就可以匯入到Unity裡整合看看。要匯入到Unity也是非常的簡單,只要在Unity裡建立一個Plugins資料夾,然後將做好的DLL檔案放進去就可以了。使用的方式就跟你在用其他人開發的插件一樣,注意name space的引用就好。

匯入到Unity

不過在準備開放給別人使用時,還是要先做好單元測試,並多做幾個範例,這樣才不會時常被別人問來問去或是要求修改。

--

--

Chris Lin
Chris Lin

Written by Chris Lin

一位遊戲開發者,熱愛遊戲、籃球、健身與遊戲程式設計 / A game developer, love in play game, basketball, fitness and programming for game.

No responses yet