引子:最近在看夢(mèng)幻大陸的工程冀惭,發(fā)現(xiàn)他們的項(xiàng)目是分開的。主工程還引用了本地庫掀鹅,也不是在Package Manger中下載的散休。還有一個(gè)封裝好的繼承MonoBehaviour的靜態(tài)庫。靜態(tài)庫里面的代碼用右鍵Edit乐尊,看不了代碼戚丸。
如何添加一個(gè)本地的程序集引用
-
將本地DLL放置到Plugins文件夾:
- 把你的本地DLL文件放入U(xiǎn)nity項(xiàng)目中的
Assets/Plugins
文件夾,如果是針對(duì)特定平臺(tái)的DLL扔嵌,應(yīng)放入對(duì)應(yīng)的子目錄限府,如Assets/Plugins/Windows
、Assets/Plugins/Linux
痢缎、Assets/Plugins/x86_64
等胁勺。
- 把你的本地DLL文件放入U(xiǎn)nity項(xiàng)目中的
-
確保兼容性:
- 確認(rèn)你的DLL與Unity使用的.NET運(yùn)行時(shí)環(huán)境兼容,如.NET 4.x独旷、.NET Standard或.NET 5(根據(jù)Unity版本不同)署穗。
如果不放置在Plugins文件夾,則工程會(huì)報(bào)錯(cuò)嵌洼。
添加一個(gè)本地或私有倉庫的包作為項(xiàng)目的依賴項(xiàng)
制作可被添加的倉庫
創(chuàng)建自定義包
包可以包含以下內(nèi)容:
- C# 腳本
- 程序集
- Native plug-ins
- 模型案疲、紋理、動(dòng)畫和音頻剪輯以及其他資源
- 包清單文件
創(chuàng)建包清單
在要依賴的本地倉庫根目錄下咱台,新建一個(gè)package.json的json文件络拌。編輯它以包含必要的元數(shù)據(jù)。以下是基本模板:
{
"name": "com.yourcompany.mypackage",
"version": "1.0.0",
"displayName": "My Local Package",
"description": "這是一個(gè)示例本地Unity Package回溺,包含一些自定義腳本和資源。",
"unity": "2021.2",
"keywords": ["example", "utility"],
"dependencies": {}
}
程序集定義和包
添加CoreAssembly.asmdef文件混萝,如果不添加.asmdef后綴文件遗遵,腳本是無法掛載的。
{
"name": "CoreAssembly",
"references": [],
"optionalUnityReferences": [],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": []
}
添加到Unity項(xiàng)目中逸嘀。
打開unity項(xiàng)目
-
通過Unity Package Manager添加本地包:
- Window -> Package Manager -> Plus (+)按鈕 -> Add Package from Disk...
- 瀏覽到您剛剛創(chuàng)建的包含
package.json
的文件夾位置车要,選擇該文件以添加整個(gè)包。
package-manager-01.png
導(dǎo)入成功后崭倘,可以看到前一步制作的json的信息翼岁。
package-manager-02.png