DLL —— Dynamic Link Library(動態連接庫文件),這裏以Window平臺爲例。框架
Unity支持的兩種語言生成的DLL庫(C++、C#),這裏以C#爲例,C++網上能夠搜索很詳細的資料。編輯器
1) 添加引用關係spa
若是有對UnityEngine、UnityEditor的引用,須要先添加引用關係。.net
路徑一般位於Unity安裝目錄下的Editor/Data/Managed路徑下。3d
2) 生成DLL文件excel
創建項目時,選擇「類庫」。目標框架.Net Framework的版本,只能選擇3.5及如下版本。code
3) 在項目中引用DLL文件blog
Unity會自動加載相應的DLL文件,因此DLL文件只要存放於Assets目錄下便可,固然爲了統一管理,通常放在Plugins目錄下。遊戲
這裏有一個須要注意的點,若是DLL文件放在Editor下,那麼只能是Editor目錄下的C#文件才能夠引用,若是想在項目運行時的C#中進行引用,那DLL文件就不能放在Editor目錄下。以上目錄只與名字相關,與層級無關,路徑能夠是Assets/a/b/c/d/e/../XX.DLLget
放置好DLL後,注意刷新Visual Studio中的解決方案。
參考連接:
在 Unity 工程 (Project) 中使用 DLL(動態庫)
如何查看DLL中的方法是否已經導出呢?
C#:dnSpy
C++:depends
理解如何使用以後,咱們作一個示例:在Unity加載並解析Excel文件。這裏用的庫是 EPPlus ,使用的版本是3.5
假設咱們只會在編輯器中使用,那麼能夠將DoNet35目錄下的二個文件,放到這樣的目錄中:ThirdParty/EPPlus/Editor 這樣就只有編輯器裏才能使用到這個類庫。使用方法也很簡單
ExcelPackage package = new ExcelPackage(new FileInfo(filePath)); List<string> keys = new List<string>(); List<string> values = new List<string>(); ExcelWorksheet sheet = package.Workbook.Worksheets[1]; int rows = sheet.Dimension.Rows; for (int row = 2; row <= rows; row++) { string key = sheet.Cells[row, 1].Value.ToString(); string value = sheet.Cells[row, 2].Value.ToString(); keys.Add(key); values.Add(value); } //
在Unity中能讀取excel就很方便了,這樣就比較方便地作技能編輯器、加載數據配置、提取遊戲中的文字等。