打包屬於自己的 Unity Package

更新於 2024/09/05閱讀時間約 3 分鐘

前言

開發 Unity 常用到外部插件,很多時候都是使用 .unitypackage 的方式導入,如果有用過 Node.js 的同學應該知道 npm 這個強大的套件管理系統,而 Unity 也有自己的插件管理系統 —— UPM。


Unity Package Manager (UPM)

打開

從哪裡開啟 UPM 呢?

raw-image
raw-image

我們可以看一下上面這個分類:

raw-image
  • Unity Registry:Unity 開發的插件
  • In Project:這個專案所使用的插件
  • My Assets:帳號擁有的插件
  • Built-in:內建插件


使用 git URL 匯入

拿我常用的插件 UniTask 來舉例。

UniTask 是 Cy 把拔開發的輕量級 Task 包。

通常我們會直接到 Release 頁下載 .unitypackage 來安裝,但這樣就沒辦法用 UPM 管理。所以我們看一下他的 git URL:

raw-image

然後貼到 UPM 上面

raw-image

結果就報錯了?

raw-image

報錯內容大致上是:該 git 路徑沒有 package manifest ,甚麼是 package manifest ?可以想成是插件的身分證,他會記錄插件的名稱、作者、相依性等資訊,通常命名為 package.json

那我們來找找看 UniTask 的身分證,直接在 GitHub 上搜尋

raw-image

所以 src/UniTask/Assets/Plugins/UniTask 就是身分證所在的路徑,所以我們把 git URL 改成這樣:

https://github.com/Cysharp/UniTask.git?path=src/UniTask/Assets/Plugins/UniTask

再貼回 UMP 上,這次就成功了

raw-image

使用 manifest 管理

其實在 UPM 新增插件就是在變更 ~/Packages/manifest.json

raw-image

所以也可以直接在這邊照著 json 格式將鍵值對填上


打包自己的 Package

為了甚麼?

有些公用程式碼、模板甚至自製架構,匯入流程都是不變的,所以我們也可以打包成插件,並且用版控進行更新。

我們先建立一個專案,並進行版控

raw-image

加入功能

我們來寫個可以幫字串加上 html color tag 的擴充方法,並把它打包成插件試試

raw-image
記得加上命名空間,我們等等要設定 asmdef ,另外也能避免東西混在一起

Assembly Definition

接著處理 .asmdef 檔,告訴 Unity 這個程式碼能在那些平台運行

raw-image

因為我們的程式碼相當簡單,並不需要針對各個平台進行設定,所以建立後依照命名空間命名就行了

raw-image

Manifest

最後來處理 manifest,在插件資料夾底下新增一個名為 package.json 的檔案

raw-image

然後在裡面填入插件的資訊

nameversion 是必填的值,其他是通常會填的。這邊要特別說一下,如果跟其他插件有相依性,可以寫在 dependencies 裡面

這裡指定了 UniTask 2.3.3

這裡指定了 UniTask 2.3.3

版本指定的部分使用到 Semver ,有興趣可以研究一下~

如此一來,屬於你的插件就打包完成了!

測試

我們回原本的專案測試看看效果吧!匯入的方法跟上面一樣,先取得 git URL ,再找到 package.json 的位置(?path=Assets/Colorful),最後填到 UPM 上面

raw-image

成功匯入,來試試能不能用,我們來幫字串 Hello 著色並 Log 出來

raw-image
別忘了引入命名空間 using Unknow.Colorful

到 Unity 將程式碼拉到物件上,接著播放

raw-image

成功印出紅色的文字了!


結語

這次簡單介紹管理、匯入、打包 Unity Package 的方法,將一些通用程式碼打包進插件內,節省時間。

avatar-img
6會員
10內容數
只要10分鐘!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
#Jaku的沙龍 的其他內容
在其他語言會時常使用正規表達式來幫字串進行 Filter,在遊戲製作裡面比較遇不到處理使用者的字串輸入、資料庫查詢結果的情況,但在編輯程式碼,有搜尋(Ctrl+F)、取代(Ctrl+H)需求時使用 Regex 也能提升工作效率。
微軟想把 VS 的一些編輯功能在 VS Code 上實作, Unity 也在幾天前推出了基於 C# Dev Kit 的插件,因為新舊版本並不相容,這邊說明兩種(OmniSharp、Roslyn Analyzers)開發環境設置。
深入探討一些程式碼撰寫的習慣
紀錄如何讓簡單的 Property 在 Inspector 內顯示。
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
C# 9.0 給 Unity 程式設計上帶來的便利
在其他語言會時常使用正規表達式來幫字串進行 Filter,在遊戲製作裡面比較遇不到處理使用者的字串輸入、資料庫查詢結果的情況,但在編輯程式碼,有搜尋(Ctrl+F)、取代(Ctrl+H)需求時使用 Regex 也能提升工作效率。
微軟想把 VS 的一些編輯功能在 VS Code 上實作, Unity 也在幾天前推出了基於 C# Dev Kit 的插件,因為新舊版本並不相容,這邊說明兩種(OmniSharp、Roslyn Analyzers)開發環境設置。
深入探討一些程式碼撰寫的習慣
紀錄如何讓簡單的 Property 在 Inspector 內顯示。
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
C# 9.0 給 Unity 程式設計上帶來的便利
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在移居美國的準備過程中,打包成為一大課題。本文分享了在打包過程中的心得,包括極簡主義的衣物選擇、食物準備的重要性、與親友的交流、必要的小物,以及在搬家過程中需要注意的細節。這些經驗不僅幫助我們減輕旅行的負擔,更讓我們在新環境中更快適應,也提醒我們在生活中保留快樂的元素。
本文介紹瞭如何精簡打包 Python 應用程序,尤其是處理 scipy 和 matplotlib 庫時的注意事項。通過排除不必要的字體和樣式文件、利用 PyInstaller 的選項、以及使用 Nuitka 編譯。
Thumbnail
羅倫馬特斯(Lauren Matters)和丹尼爾斯科特(Daniel Scott)是一對很喜歡並擅長進行旅行瑜珈的夫婦,通過一次次的經驗,他們已經很熟練地輕裝上陣。能夠快速地準備好在世界各地的節日、場合和活動中進行瑜珈。所以就邀請到他們來為大家進行瑜珈者的旅行行囊收拾指南分享~肯定是最有說服力的吧
Thumbnail
本篇文章適合和我一樣有這些旅行興趣的人❤️ 會在旅行中洗衣服 會住有廚房的住宿 有不厭其煩整理物品的習慣 想要穿的漂亮但又不想帶太多衣服 因為通常在歐洲旅行都是坐大眾運輸走跳,雖然想當背包客,但無法做到,只能盡力精簡行李。
Thumbnail
搬家打包是繁瑣的任務,提前準備和規劃至關重要。這篇文章分享了搬家打包的5個技巧,介紹搬家公司的選擇注意事項,以及搬家後快速整理新家的建議。這些實用技巧和注意事項將幫助你更順利地完成搬遷並享受新家的舒適。
Thumbnail
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
在去西班牙交換之前,寶拉把行李分為以下幾個類別進行打包/整理: 1.和電相關的東西 2.一般日用品 3.文具與文件 4.衣物 5.藥品 6.台灣食物 7.台灣文化交流用品 8.隨身包小要有的東西 9.後背包/書包要有的東西 寶拉會在每個項目以過來人的經驗告訴你原因,字很多大家請在有耐心的時候看
這世界有乾燥的可能嗎? 一兩個月前的夏天,我的一篇在文學獎被遺棄的散文,和一首被大家所珍惜但還沒被看到的詩有幸刊登在不同平台上。陸續而至,那時,我正在進行生命中發誓的最後一場勞動,收到消息時,我邊在電腦前工作邊流下了眼淚。 我一邊哭一邊懷疑自己是不是太誇張,可是,我想珍惜我的哭泣。來到這裡之後,所有
Thumbnail
https://youtu.be/4cAp_IdqOuM 旅行的意義 是在君選擇 行李的重量 各有其價值 很多日用消費品 忘了帶再買就好 對我來說 有些物品 非有不可 這些選擇 有時存在回憶與情感 但絕大多數 是無比的 感謝🙏
Thumbnail
妳最近也搬家了嗎? 搬家要做的事實在很多! 尤其是打包!讓人想要一而再再而三的拖延! 來來來,這裡有一些打包tips參考看看! ㄧ、貴重物品第一箱: 舉凡證件、鑰匙、保單、戶籍謄本、存摺印章、現金等,這種平常不需要,要起來急死人這種的私人重要物品,請務必不要跟大雜燴放一起,放至編號1的箱子,想要
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在移居美國的準備過程中,打包成為一大課題。本文分享了在打包過程中的心得,包括極簡主義的衣物選擇、食物準備的重要性、與親友的交流、必要的小物,以及在搬家過程中需要注意的細節。這些經驗不僅幫助我們減輕旅行的負擔,更讓我們在新環境中更快適應,也提醒我們在生活中保留快樂的元素。
本文介紹瞭如何精簡打包 Python 應用程序,尤其是處理 scipy 和 matplotlib 庫時的注意事項。通過排除不必要的字體和樣式文件、利用 PyInstaller 的選項、以及使用 Nuitka 編譯。
Thumbnail
羅倫馬特斯(Lauren Matters)和丹尼爾斯科特(Daniel Scott)是一對很喜歡並擅長進行旅行瑜珈的夫婦,通過一次次的經驗,他們已經很熟練地輕裝上陣。能夠快速地準備好在世界各地的節日、場合和活動中進行瑜珈。所以就邀請到他們來為大家進行瑜珈者的旅行行囊收拾指南分享~肯定是最有說服力的吧
Thumbnail
本篇文章適合和我一樣有這些旅行興趣的人❤️ 會在旅行中洗衣服 會住有廚房的住宿 有不厭其煩整理物品的習慣 想要穿的漂亮但又不想帶太多衣服 因為通常在歐洲旅行都是坐大眾運輸走跳,雖然想當背包客,但無法做到,只能盡力精簡行李。
Thumbnail
搬家打包是繁瑣的任務,提前準備和規劃至關重要。這篇文章分享了搬家打包的5個技巧,介紹搬家公司的選擇注意事項,以及搬家後快速整理新家的建議。這些實用技巧和注意事項將幫助你更順利地完成搬遷並享受新家的舒適。
Thumbnail
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
在去西班牙交換之前,寶拉把行李分為以下幾個類別進行打包/整理: 1.和電相關的東西 2.一般日用品 3.文具與文件 4.衣物 5.藥品 6.台灣食物 7.台灣文化交流用品 8.隨身包小要有的東西 9.後背包/書包要有的東西 寶拉會在每個項目以過來人的經驗告訴你原因,字很多大家請在有耐心的時候看
這世界有乾燥的可能嗎? 一兩個月前的夏天,我的一篇在文學獎被遺棄的散文,和一首被大家所珍惜但還沒被看到的詩有幸刊登在不同平台上。陸續而至,那時,我正在進行生命中發誓的最後一場勞動,收到消息時,我邊在電腦前工作邊流下了眼淚。 我一邊哭一邊懷疑自己是不是太誇張,可是,我想珍惜我的哭泣。來到這裡之後,所有
Thumbnail
https://youtu.be/4cAp_IdqOuM 旅行的意義 是在君選擇 行李的重量 各有其價值 很多日用消費品 忘了帶再買就好 對我來說 有些物品 非有不可 這些選擇 有時存在回憶與情感 但絕大多數 是無比的 感謝🙏
Thumbnail
妳最近也搬家了嗎? 搬家要做的事實在很多! 尤其是打包!讓人想要一而再再而三的拖延! 來來來,這裡有一些打包tips參考看看! ㄧ、貴重物品第一箱: 舉凡證件、鑰匙、保單、戶籍謄本、存摺印章、現金等,這種平常不需要,要起來急死人這種的私人重要物品,請務必不要跟大雜燴放一起,放至編號1的箱子,想要