古いUnity Licensing ClientをバンドルしているUnity EditorおよびUnity Hubのバージョンで、手動でアクティベートした.xmlライセンスファイルのインポートやロードが失敗する問題を解決します。
新しい.xml形式の手動アクティベート済みライセンスファイルには、Unity Licensing Client 1.18.3以降が必要です。古いクライアントをバンドルしているEditorおよびHubのバージョンでは、ライセンスファイルはインポート時およびEditorがロードを試みる際に検証に失敗します。このページでは症状の説明、対応するクライアントを含むバージョンの一覧、アップグレードできないEditorでのライセンスアクティベーション方法を説明します。
アクティベーション手順については、How do I manually activate my Unity license?を参照してください。
ライセンスファイルについて以下の点に注意してください:
- ライセンスファイルは手動アクティベーションポータルの手動アクティベーションフローを通じて取得します:サインインし、ライセンス要求ファイルをアップロードし、割り当てられたシートのライセンスをアクティベートし、ライセンスファイルをダウンロードします。
- 手動(オフライン)アクティベーションはEnterpriseおよびIndustryシートのみ利用可能です。アクティベーションページには対象となる割り当て済みシートが表示され、他のプランのシートはオフラインでアクティベートできません。
- ダウンロードされるファイルは.xml形式の
UnityEntitlementLicense-<timestamp>.xmlであり、旧形式の.ulfではありません。 - 各アクティベーションでライセンスファイルは1回のみダウンロード可能です。ファイルを紛失したり再度必要な場合は、アクティベーション手順を繰り返してください。同じマシンで再アクティベート可能です。
症状
失敗は、ライセンスファイルをインポートする場合と、すでにマシンでライセンスがアクティベートされている場合の2通りの方法で現れます。
インポート時の失敗
サポートされていないバージョンでライセンスファイルをインポートしようとすると、Unity HubはエラーUnable to save the license fileを表示します。代わりにEditorのコマンドラインからインポートした場合(-manualLicenseFile)、Editorログに以下のようなエラーが記録されます。
[Licensing::Module] Loading manual activation license file .../UnityEntitlementLicense-20260818142817.xml.
[Licensing::Client] Error: LicenseImportResponse reported an error:
ResponseCode: 500
ResponseStatus: An unexpected error occurred while processing the request両方の場合で、Licensing Clientのログに以下のようなエラーが記録されます。
INFO - [LicenseImportController] Trying to import license file: .../UnityEntitlementLicense-20260817194605.xml...
ERROR - [ApiPipeHandler#1] REQ-13 | Unable to process IPC message from Hub:
[500 InternalServerError] An unexpected error occurred while processing the request
System.NotImplementedException: This method will be implemented later.
at Unity.Licensing.Client.Communication.Controllers.LicenseImportController.ImportEntitlementBasedLicense(String licensePath)ロード時の失敗
ライセンスファイルがすでにマシンでアクティベートされている場合(例えばサポートされたUnity Hub経由で)に、古いLicensing Clientがそれをロードしようとすると、手動アクティベートされたライセンスタイプを解析できません。Editorは有効なライセンスが存在しないかのように動作し、Licensing Clientログに以下のようなエラーが記録されます。
ERROR - [LicenseFilesMapper] Exception caught while parsing license .../UnityEntitlementLicense-20260818142817.xml
System.InvalidOperationException: There is an error in the XML document.
---> System.InvalidOperationException: Instance validation error: 'AssignedManual' is not a valid value for LicenseType.
at Unity.Licensing.EntitlementResolver.License.UnityLicense.ReadAndParseLicense(Stream licenseStream, X509Certificate2 certificate)
at Unity.Licensing.Client.Services.Helpers.LicenseFilesMapper.MapLicenseFilesToResult(IEnumerable`1 files, Boolean ignoreUlfLicenseFiles)Licensing Clientログ(Unity.Licensing.Client.log)の場所は以下の通りです:
- Windows:
%LOCALAPPDATA%\Unity\Unity.Licensing.Client.log - macOS:
~/Library/Logs/Unity/Unity.Licensing.Client.log - Linux:
~/.config/unity3d/Unity/Unity.Licensing.Client.log
原因
Unity Licensing Client 1.18.2以前をバンドルしているEditorおよびHubは、手動アクティベートされたNamed User Licenseをロードできません。バンドルされたクライアントがこのライセンスタイプを認識しないためです。
以下の表は、手動アクティベートされた.xmlライセンスファイルをサポートするUnity Editor、Unity Hub、Unity Licensing Clientのバージョンを示しています。
| 製品 | サポート済み | 非対応 |
|---|---|---|
| Unity Editor |
|
|
| Unity Hub | 3.21.1以降 | 3.20以前。Hub 3.18.0~3.20は.xmlファイルピッカーを表示しますが、Licensing Client 1.17.4以前をバンドルしているためインポートに失敗します。古いHubバージョンは.ulfファイルのみ受け付けます。 |
| Unity Licensing Client | 1.18.3以降 | 1.18.2以前 |
Unity Hubがサポートされているバージョンであれば、Unity Editorのバージョンがサポートされていなくても手動アクティベートされたライセンスをアクティベートして使用可能です。多くの場合、Unity HubにバンドルされたLicensing Clientが先に起動し、Editorにバンドルされたものより優先されます。ただし、Unity Hubを起動せずにEditorを起動した場合(例えばコマンドラインやCI環境)、Editorは自身にバンドルされたクライアントを使用し、ライセンスをロードできません。
解決策:サポートされているバージョンにアップグレードする
推奨される解決策です。Unity Hub 3.21.1以降、またはバージョンサポート表にあるサポートされたUnity Editorバージョンにアップグレードし、通常通りアクティベートしてください。
アップグレードできない場合は、次のセクションで説明するようにEditorにバンドルされたLicensing Clientを置き換えてください。
解決策:Unity EditorにバンドルされたLicensing Clientを置き換える
Editorをアップグレードできない場合は、バンドルされたLicensing Clientをバージョン1.18.3に置き換え、コマンドラインからライセンスをインポートしてください。
Unity HubはUnity Editorのバージョン管理、プロジェクト管理、ライセンス管理を行うデスクトップアプリケーションです。Unity Editorは開発環境本体であり、インストールされる各Editorバージョンは独自のLicensing Clientを内包しています。この手順は1つのEditorインストールに対して行うもので、必要なEditorバージョンごとに繰り返してください。また、HubやHubにバンドルされたクライアントは変更されません。
Unity Licensing Client 1.18.3をダウンロードする
以下の公式スタンドアロンビルドが利用可能です(ビルド1.18.3.d7ffd15):
| プラットフォーム | ダウンロードリンク |
|---|---|
| Windows (x64) | licensing-client-win-x64 1.18.3 (zip) |
| Windows (Arm64) | licensing-client-win-arm64 1.18.3 (zip) |
| macOS (Intel) | licensing-client-mac-x64 1.18.3 (zip) |
| macOS (Apple silicon) | licensing-client-mac-arm64 1.18.3 (zip) |
| Linux (x64) | licensing-client-linux-x64 1.18.3 (zip) |
クライアントを置き換え、ライセンスをインポートする
バンドルされたLicensing Clientを置き換えるには、以下の手順を実行してください:
- Unity EditorとUnity Hubを終了します。
-
プラットフォームに対応した1.18.3のアーカイブをダウンロードします。
ダウンロードリンクを使用し、ご利用のOSおよびCPUアーキテクチャに合ったビルドを選択してください。
-
Editorインストール内のバンドルされたLicensing Clientを探します。
- Windows:
<Unity Editorのインストールパス>\Editor\Data\Resources\Licensing\Client\ - macOS:
<Unity Editorのインストールパス>/Unity.app/Contents/Helpers/UnityLicensingClient.app/Contents/MacOS/ - Linux:
<Unity Editorのインストールパス>/Editor/Data/Resources/Licensing/Client/
これらのパスはUnity 2022.3 LTSから6000.xまでに適用されます。macOSのUnity 2020.x以前ではクライアントが
Unity.app/Contents/Frameworks/に配置されていました。 - Windows:
-
既存のクライアントフォルダーをバックアップします。
WindowsおよびLinuxでは
ClientをClient.bakに、macOSではUnityLicensingClient.appをUnityLicensingClient.app.bakに名前変更してください。コピーではなく名前変更を行う理由は、新しいクライアントは空のフォルダーに展開する必要があり、古いバージョンのファイルが残っているとクライアントの署名が破損するためです。 -
アーカイブを先ほど名前変更したクライアントの場所に展開します。
WindowsおよびLinuxでは、バックアップの隣に新しい
Clientフォルダーを作成し、アーカイブ内のクライアントファイルを直接展開してください。アーカイブにはクライアントのファイルのみが含まれており、フォルダーで囲まれていません。macOSでは、アーカイブはクライアントアプリバンドルの
Contentsフォルダー全体を含むため、UnityLicensingClient.app自体に上書き展開してください。Contents/MacOS/内に展開しないでください。Finderやunzipではなく、dittoコマンドを使用してください。クライアントの.NETライブラリは拡張属性にコード署名を持っており、dittoのみがこれを復元します。他の方法で展開するとクライアントは未署名となり、macOSが実行を拒否する場合があります。ditto -xk --noqtn <ダウンロードしたアーカイブのパス>.zip \ "<Unity Editorのインストールパス>/Unity.app/Contents/Helpers/UnityLicensingClient.app" -
置き換えを確認します。
クライアントのバイナリを
--versionオプション付きで実行し、1.18.3以降であることを確認してください。# macOS <Unity Editorのインストールパス>/Unity.app/Contents/Helpers/UnityLicensingClient.app/Contents/MacOS/Unity.Licensing.Client --version # Windows / Linux(Clientフォルダー内から) Unity.Licensing.Client --version -
ライセンスファイルをインポートします。
Editorのコマンドラインを使用してください:
Unity -batchmode -manualLicenseFile <ライセンスファイルのパス> -logfileこのコマンドはEditorの置き換えたクライアントを通じてライセンスをインポートします。Unity HubのActivate with license fileオプションはHubにバンドルされたクライアントを使用し、置き換えたものは使わないため、サポートされたHubバージョンでのみ動作します。
Editorの修復や更新(例えばUnity Hubを通じて行う場合)は元のバンドルされたLicensing Clientを復元するため、Editorを更新した後はこの手順を繰り返す必要があるかもしれません。
クライアントが1.18.3以降を報告していることを確認してもインポートが失敗する場合は、Unityサポートに連絡し、Unity.Licensing.Client.log(症状のセクションで場所を記載)を添付し、EditorおよびHubのバージョン情報を提供してください。