Version: 2019.4
言語: 日本語
ローカルパス
スコープ付きパッケージレジストリ

Git URL

Package Manager は、Git のリポジトリからパッケージを取得すると、プロジェクトのローカルにパッケージを追加します。これにより、公開されていない変更を簡単にテストすることができますが、Git リポジトリへのコントリビュートには使用できません。既存のローカル Git リポジトリをプロジェクトの依存関係として設定するには、代わりにローカルパスを使用します。

プロジェクトで Git パッケージを使用するには、マシンに Git クライアントがインストールされ、Git 実行ファイルパスが PATH システム環境変数に加えられていることを確認してください。

リポジトリが Git LFS でファイルを追跡する場合は、Git LFS クライアントもマシンにインストールされていることを確認してください。インストールされていないと、Package Manager は LFS サーバーに保存されたファイルを取得できず、エラーメッセージや警告メッセージなしに LFS ポインターファイルをチェックアウトします。

ノート: Package Manager ウィンドウを使用して、Git リポジトリから直接パッケージをインストールすることもできます。詳細は、Git URL からのインストールを参照してください。

依存関係として Git URL を指定するには、バージョン番号やローカルファイルパスの代わりに Git URL を使用してインストールするパッケージの名前を加えます。例えば、以下は推奨される HTTPS プロトコルを使用してリモート Git を指定する方法を示しています。

{
  "dependencies": {
    "com.mycompany.mypackage": "https://mycompany.github.com/gitproject/com.mycompany.mypackage.git"
}

Package Manager は、httpshttpsshgitfile プロトコルを以下の形式でサポートします。

  <protocol>://[<user>[:<password>]@]<host>[:<port>]/<path>.git[#<revision>]

これらの形式で URL が git で始まる場合は、.git パスサフィックスを省くこともできます。

  git://[<user>[:<password>]@]<host>[:<port>]/<path>[#<revision>]

または

  git+<protocol>://[<user>[:<password>]@]<host>[:<port>]/<path>[#<revision>]

ユーザー名とパスワードを安全に提供するために、Git 設定ファイルの認証情報を設定する必要があるかもしれません。これは、Git URL でハードコーディングするよりも好ましい方法です。ハードコーディングは、プロジェクトを他の人と共有する場合、主要なセキュリティ問題だからです。

SSH を使用して認証する場合、Git はデフォルトの場所にあるキーを使用します。ただし、 PuTTY を Windows の SSH クライアントとして使用する場合は、GIT_SSH 環境変数を設定して plink.exe を指すようにする必要があります。

SSH キーは Unity の外部で設定する必要があります。適切なアクセス権がない場合は、エディターが認証の失敗を通知します。

特定のホストの認証の設定に関する詳細は、GitLabGitHub のヘルプページを参照してください。

特定のリビジョンをターゲットにする

インストールするリビジョンを指定できます。リビジョンは、最終的に Git のコミットハッシュに解決される式です。最も一般的なリビジョンのタイプは、コミットハッシュ、タグ、ブランチです。

特定のリビジョンをターゲットにするには、dependencies 属性の Git URL に # とリビジョン (バージョン または特定の Git ハッシュ)を追加します。 ハッシュを指定することで、必要なバージョンを正確に取得できます。以下はその例です。

{
  "dependencies": {
    "com.mycompany.mypackage": "https://mycompany.github.com/gitproject/com.mycompany.mypackage.git#523c4f291cea796141e7211f4951702984d2e9ca"
  }
}

リビジョンを省略すると、Package Manager はリモートリポジトリの HEAD リビジョンを使用します。

適切なリビジョンの設定に関する詳細は、Git リビジョンの Git のユーザー セクションを参照してください。

SSH プロトコルの使用

SSH プロトコルを使用したい場合は、完全な URL 構文か SCP の短縮形のいずれかを使用できます。

# SCP shorthand
{
  "dependencies": {
    "com.mycompany.mypackage": "git@mycompany.github.com:gitproject/com.mycompany.mypackage.git"
}
# Full SSH protocol
{
  "dependencies": {
    "com.mycompany.mypackage": "ssh://git@mycompany.github.com/gitproject/com.mycompany.mypackage.git"
}

ノート: パスフレーズを使って SSH キーを設定した場合、シェルやコマンドラインにパスフレーズを入力する必要があるため、Package Manager はパッケージを取得できません。この場合は、代わりに https プロトコルの使用を検討するか、Git に同梱されている ssh-add ユーティリティーを使用してください。詳細は、Git URL の認証の問題を参照してください。

FILE プロトコルの使用

Package Manager は、file プレフィックスを持つファイルパスを Git URL として認識しませんが、完全な URL が適切にフォーマットされていれば、 file プロトコルを使って Git URL として認識します。以下はその例です。

{
  "dependencies": {
    "com.mycompany.mypackage1": "file://localhost/absolute/path/to/com.mycompany.mypackage1.git",
    "com.mycompany.mypackage2": "git+file:///absolute/path/to/other/com.mycompany.mypackage2"
  }
}
ローカルパス
スコープ付きパッケージレジストリ