kumak1’s blog

kumak1のイラストや技術ログ

Unity の Package Manager で GitHub の Private Repository を使う

2020/11/12 追記

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

開発環境をうまく使いこなして、快適にすごそう