The Unity Accelerator is a software agent that allows you to share Unity Editor content faster. An Accelerator coordinates Asset sharing when your team is working on the same local network, so that you don’t need to rebuild portions of your Project. When used with Unity Teams Advanced, the Accelerator also shares source Assets. This significantly reduces download time from the Collaborate service.
When you install an Accelerator on your local network, the Unity Editor (version 2019.3 or higher; see Unity Editor requirements below) communicates with it to retrieve Assets that other team members have changed or built. The Accelerator keeps temporary copies of these Assets on the network to avoid wasting time and bandwidth retrieving or rebuilding them.
チームが定期的に作業する各ネットワークに Accelerator をインストールします。ローカルネットワーク上に、Accelerator をホストすることができるマシンが必要です。ホストを選択する際には、以下の要件を考慮してください。
Your Unity Project must use version 2019.3 or higher of the Unity Engine.
Accelerator は、Unity Teams Advanced と一緒に使うと、さらに効果を発揮します。
Unity Teams Advanced を使用する場合、組織の所有者または管理者のいずれかが、開発者ダッシュボード から以下の手順で Accelerator を作成できます。
When used with Unity Teams Advanced, each Accelerator receives its own security certificate to prove it has permission to access your Organization. Before an Accelerator uploads or downloads any content, the Unity Editor making the request uses SSL/TLS to securely connect to the Accelerator and verifies its authenticity. When Unity Editors discover and connect to an Accelerator, instead of passing a normal Unity user token, they receive a special token from the Unity Identity service. These tokens verify the user’s identity and access to a single Project within your Organization, thereby protecting access to any other Organizations and Projects while using an Accelerator.
Asset Import Pipeline provides an API for accessing Project Assets via script, and uses Accelerators as a caching mechanism. When you or a member of the team imports an Asset, Asset Import Pipeline first checks whether the Asset already exists in an imported state in an Accelerator’s store. If it does, Asset Import Pipeline skips the import step and downloads the Asset from the Accelerator instead. If it doesn’t, Asset Import Pipeline imports the Asset, then uploads the result to the Accelerator.
Using Asset Import Pipeline with an Accelerator reduces initial startup time for large Projects significantly. Instead of doing resource-intensive importing, this combination only downloads the imported results and stores them locally for the Project. Users on the same local network can share each other’s imports, reducing the need for multiple people to do heavy importing work.
Unity Teams Advanced を使用していない場合は、Unity Accelerator を直接ダウンロードしてインストールし、インストール時に登録トークンのチェックを外してください。
各プラットフォームで、コマンドラインからインストーラーを実行できます。インストーラーの引数に --help
を指定して実行すると、利用可能なさまざまなオプションが表示されます。プロンプトを表示せずに完全なインストールを実行するには、以下の値を指定する必要があります。
--storagedir
ファイルや設定を保存する Accelerator のディレクトリを設定します。--registration-token
specifies the token provided in the developer dashboard after creating the Accelerator. --have-registration-token false
skips registration (if, for example, you do not have Unity Teams Advanced). Important: Use only one of these, not both.--mode unattended
for automated installations that should not query anything. This uses default values, or values from other option flags provided.Contents/MacOS/installbuilder.sh)
.Accelerator をインストールすると、設定ウィザードの最後のステップで、エディターで参照する IP アドレスと Port が以下の形式で表示されます。
[IP]:[Port]
Asset pipeline version 2 Cache Server として Accelerator を使用するようにエディターを設定するには、以下の手順を行います。
If you are a Unity Teams Advanced user, you can monitor Accelerator metrics from the developer dashboard. These metrics only apply to source Assets, and do not apply to generated (imported) Assets.
To view a summary of your Project’s Accelerators, select that Project, then select Collaborate > Accelerators from the left navigation bar. In this menu, you can view the following information:
プロパティ | 説明 |
---|---|
Name | Accelerator を作成したときに指定した名前。 |
Avg. Efficiency | 過去 24 時間の Accelerator の平均 効率。 |
Editors | Accelerator に接続されている Unity エディターの数。 |
Latest Activity | 直近の Accelerator の使用状況。 |
状態 |
Accelerator は以下のいずれかの状態です。- Available は、Accelerator がインストールされていないか、Collaborate サービスに登録されていないことを示します。 - Ready は、Accelerator が Collaborate サービスに登録されているが、Unity エディターがそれに接続されていないことを示します。 - In use は、Unity エディターが Accelerator に接続されているか、最近接続されたことを示します。 - Idle は、Unity エディターが以前に Accelerator を使用したことがあるが、最近のアクティビティがないことを示しています。 - Not Listening は、Accelerator が設定されたポートに接続できなかったことを示します (他のサービスがすでに使用していることが原因の可能性が高い)。 - Disconnected は、Accelerator が、使用状況の報告や設定変更の受信のためにサービスに接続されなくなったことを示します。 |
Enabled | Unity エディターが Accelerator を検出して使用しようとするかどうかを示します。Unity エディターは、Accelerator が起動しているかどうかに関わらず、無効な Accelerator を使用しません。 |
Details をクリックすると、Accelerator の使用状況に関する以下の詳細情報が表示されます。このデータは 10 分ごとに更新されます。
これは、過去 24 時間の Accelerator の平均パフォーマンスを示しています。値の範囲は 0 - 100で、Collaborate サービスからの遠隔操作ではなく、Accelerator からローカルに提供されたコンテンツダウンロードの割合を測定します。値が 0 の場合、Accelerator がコンテンツのダウンロードを積極的に支援していないことを示します。100 の値は、Accelerator がすべてのコンテンツダウンロードを提供していることを示します。
Periodically, the Accelerator clears space to store new Assets. When it does, the dashboard reports the number of bytes allocated to older Assets that the Accelerator removed from local storage.
Note: This is a normal operation to help maintain a healthy Accelerator. However, if this value seems to be adversely affecting the Accelerator’s efficiency, you might need to add more storage space to accommodate your team’s usage. Ideally, the file system running the Accelerator should use a solid-state hard drive with enough free disk space to house all files in the most recent version of active Projects, but this is not a requirement. If insufficient storage is available, the overall efficiency of the Accelerator declines.
分散したチームには、Accelerator を使用するローカルのコントリビューターと、Collaborate サービスを使用するリモートのコントリビューターがいる場合があります。このような場合、Accelerator はリモートの公開のイベントをリッスンし、ローカルネットワーク上のユーザーのために、影響を受けるコンテンツを積極的にダウンロードします。
Accelerator を使用する場合、Accelerator は、ローカルネットワークから配信されたバイト数ではなく、リモートの Collaborate サービスに要求してダウンロードした全体のバイト数を報告します。ローカルに配信されたバイト数が多いほど、ネットワークゲートウェイへの負荷が少なくなるため、チームにとっては好ましいと言えます。
The Accelerator tracks bandwidth when it delivers locally stored Assets instead of downloading them from the Collaborate service, and reports the difference in time the Unity Editor would have waited to download Assets remotely as time saved.
Note: The aforementioned metrics apply only to source Assets. They do not apply to generated (imported) Assets.
Unity Teams Advanced を使用しない場合、各 Accelerator は Prometheus metric reports を /metrics
としてホストしており、ローカルネットワークからそれを照会することができます。以下は、アクセス可能な指標の全リストです。
指標 | 説明 |
---|---|
process_resident_memory_bytes |
Accelerator が使用するメモリの量です。 |
uta_agent_sys_cpu_percent |
システムが使用する CPU の量です。 |
uta_agent_sys_mem_bytes_used |
システムによって使用されるメモリ量です。 |
uta_agent_protobuf_connects |
Unity エディターがアセットインポートパイプラインのサービスに接続した回数。 |
uta_agent_protobuf_bytes_in |
アセットインポートパイプラインから受信したバイト数。 |
uta_agent_protobuf_bytes_out |
アセットインポートパイプラインに送信されたバイト数。 |
uta_agent_protobuf_requests{code="0",method="get"} |
アセットインポートパイプラインに送られたアイテムの数。 |
uta_agent_protobuf_requests{code="1",method="get"} |
アセットインポートパイプラインに送られたアイテムから発生したエラーの数。 |
uta_agent_protobuf_requests{code="2",method="get"} |
アセットインポートパイプラインに送られたアイテムから発生した名前空間エラーの数。 |
uta_agent_protobuf_requests{code="3",method="get"} |
キャッシュされていないアイテムに対してアセットインポートパイプラインから行われたリクエストの数。 |
uta_agent_protobuf_requests{code="0",method="put"} |
アセットインポートパイプラインから受け取ったアイテムの数。 |
uta_agent_protobuf_requests{code="1",method="put"} |
アセットインポートパイプラインから受け取ったアイテムから発生したエラー数。 |
uta_agent_protobuf_requests{code="2",method="put"} |
アセットインポートパイプラインから受信したアイテムに発生した名前空間エラー数。 |
uta_agent_protobuf_requests{code="0",method="delete"} |
アセットインポートパイプラインからのアイテム削除のリクエスト数。 |
uta_agent_protobuf_requests{code="1",method="delete"} |
アセットインポートパイプラインがアイテムを削除する際に発生したエラー数。 |
uta_agent_protobuf_requests{code="2",method="delete"} |
アセットインポートパイプラインによるアイテム削除リクエストから発生した名前空間エラーの数。 |
uta_agent_protobuf_requests{code="3",method="delete"} |
キャッシュされていないアイテムのアセットインポートパイプラインから送信されたアイテムを削除するリクエスト数。 |
Unity エディターのログ は、デバッグ情報を見るのに便利です。Collaborate イベントのログを表示するには、環境変数を enableCollabEventLogs=true
に設定して、Unity エディター (またはUnity Hub) を動作させます。[collab-accelerator]
とマークされたログは、Accelerator のパフォーマンスを把握するのに役立ちます。
以下のブロックは、Asset Import Pipeline v2 を使用した Accelerator のログ出力例を示しています。これは Collaborate 用ではないため、enableCollabEventLogs=true
を必要としません。
2019-10-07T11:34:51-0700 Using Asset Import Pipeline V2.
...
2019-08-08T09:04:03-0700 Start importing Assets/Scenes/tame-the-unicorn.png guid(07a0d449dcaef4d2ba104e9d9b350de6)
2019-08-08T09:04:05-0700 Done importing asset: 'Assets/Scenes/tame-the-unicorn.png' (target hash: 'd5fddd470dd9beedcd7261b6455e436a') in 1.082988 seconds
2019-08-08T09:04:05-0700 RemoteAssetCache::AddArtifactToCacheServer - artifactKey='Guid(07a0d449dcaef4d2ba104e9d9b350de6) Importer(-1,)' Target hash='d5fddd470dd9beedcd7261b6455e436a'
Accelerator は、各プラットフォームのバックグラウンド処理として動作します。
Services Panel を開くには、“設定” メニューで “Services” を検索するか、Run ダイアログ (WIN + R) で “services.msc” を実行します。次に、結果のリストの中から “Unity Accelerator” サービスを探します。左側のパネルに Stop the service または Restart the service というオプションが表示されます。
ターミナルから launchctl
コマンドを実行して、LaunchControl ユーティリティから “com.unity.accelerator” サービスを制御することができます。詳細については、https://www.launchd.info/ を参照してください。
“unity-accelerator” サービスの制御には、 service
コンソールユーティリティを使用します。詳細は、http://manpages.ubuntu.com/manpages/bionic/man8/service.8.html 参照してください。
Accelerator サービスは、メンテナンス期間中に自動的に更新されます。メンテナンス期間は、Accelerator が動作しているマシンの現地時間午前 1 時 - 2 時に設定されています。これは、Accelerator により新しいバージョンが可能な場合にのみ行われます。
Accelerator’s installation and uninstallation logs are saved in the operating system’s standard temp directory as unity-accelerator-*install.log
. Accelerator’s logs are saved in the storage directory as unity-accelerator.log.
Accelerator をインストールしたにもかかわらず、一部の Unity エディターがそれを使用していない場合、いくつかの要因が考えられます。以下のトラブルシュートを参考にしてください。
Each Project contributor must be using an Editor version 2019.3 or higher to use an Accelerator.
Make sure the Accelerator is running on the same local area network as the Project contributors experiencing issues. Accelerator does not affect contributors who are working remotely.
問題が発生しているマシンが Accelerator にアクセスできるかどうかを確認します。Unity Teams Advanced を使用している場合は、以下の手順でブラウザーから Accelerator のヘルスページにアクセスします。
Unity Teams Advanced を使用していない場合は、以下の URL パスに Accelerator のホスト IP アドレスを入力すると、ヘルスページが表示されます。
[AcceleratorIP]:[AcceleratorPort]/api/agent-health
テストに失敗した場合は、すべてのホストとネットワークのファイアウォールが Accelerator のリッスン IP アドレスとポート (TCP) へのアクセスを許可していることを確認してください。このポートへのアクセスを許可するために、ネットワーク管理者に連絡する必要があるかもしれません。
If you use Unity Teams Advanced, verify that the Accelerator is configured for the Project in question. Navigate to the Project in the developer dashboard, and select Collaborate > Accelerator from the left navigation bar. You should see the Accelerator listed for that Project.
For help regarding Accelerator with Unity Teams, email support or submit a help ticket from the developer dashboard. To submit a ticket for a Unity Teams Advanced Project, select your Project, then select Collaborate > Support from the left navigation bar.
アセットインポートパイプラインを使用した Accelerator に関するお問い合わせは、Accelerator forums を参照してください。