Unity の Package Manager で GitHub の Private Repository を使う
2020/11/12 追記
SSH の鍵が適切に設定されていれば git+ssh://git@github.com/[orgs]/[repo].git?path=[path/to/dir] で Private Repository にアクセスが出来るので、そちらの方がより安全かもしれません 😉
— もんりぃ先生 (@monry) 2020年11月11日
(私の記事にリンクしていただきありがとうございます!)
manifest.json
にtokenを直書きしたものをcommit・運用するのもよくないので、もんりぃ先生のいう通り git+ssh プロトコルで通信しよう!
コピペ用 リポジジトリ直下にasmdefファイルがある場合
git+ssh://git@github.com/[orgs]/[repo].git
asmdefの格納されているディレクトリを指定したい場合
git+ssh://git@github.com/[orgs]/[repo].git?path=[path/to/dir]
結論
Personal access tokens を使った認証をしたらつかえる!
こばなし
Unity2020 にバージョンアップ Unity エディタ上から AssetStore は見れなくなり「Package Manager を使ってね」という圧がかけられるようになりました。なるほど。 購入アセットが100を超えてるので、一覧性がキビしい事を除けば、色々とできることが増えてて良さそうですね。
Package Manager 用の自作ライブラリの作り方
どうやら AssetStore で購入したライブラリだけでなく、自作ライブラリもお作法に則って作成・公開すれば、Package Manager で取り込みできるようになるみたい。大変便利だ。
PackageManagerで自作ライブラリを作成する方法 - Qiita
Package Manager で使えるライブラリのホストについて
GitHub の Public Repository が使えるのは上のQiitaの記事でも確認し、実践済み。 が、Private だとかで認証使いたい場合、他の人は npm サーバーを自分で建てたりしている。
UnityのPackageManagerプライベートリポジトリの調査 - 渋谷ほととぎす通信
Verdaccioでローカルのnpmサーバーを立ててUnityPackageManagerにプライベートリポジトリを使う - 渋谷ほととぎす通信
Unity Package Manager が認証に対応しました! - もんりぃ is undefined.
しかし、個人プロダクトのセキュリティを自分自身で面倒みるのは、正直コスパが悪すぎる。 このため、GitHub Packages を利用するのが適切・・なのだが、Private な Packages 0$運用するにはストレージ容量とデータ転送量が限られる。 パーソナルアクセストークンを使用するアクセスは無料なので、開発メンバーが1人だけで500MB以下の運用なら積極的に使っていこう。 スケールしてもお金で殴れば解決するし。
GitHub Packagesについて - GitHub Docs
GitHubパッケージの支払いについて - GitHub Docs
Package Manager で GitHub の Private Repository を使う設定
「Packages にするほどでもないけど、金かけたくないし、なんか雑に試したいし、認証付きで公開したいんじゃい!」という事もあると思う。
この場合 Personal access tokens
を使った認証をしたら、すんなり利用できた。
自身のUnity プロジェクトの manifest.json
に以下のフォーマットで読み込みたいリポジトリを指定するだけ。
{ "dependencies": { [中略] "{package_name}": "https://{token}:x-oauth-basic@github.com/{owner}/{repo}.git" } }
{package_name}
{token}
{owner}
{repo}
はよしなに置き換えてください。
ちなみにアクセストークンは以下リンクから発行できる。
https://github.com/settings/tokens
開発環境をうまく使いこなして、快適にすごそう