Unityでパーソナルライセンスのシリアルナンバーを発行する

Unityのパーソナルライセンスでコマンドライン経由でビルド環境のバッチのテストをしようとしたときに、ライセンス認証してくれというエラーがでた。

コマンドライン経由の場合、-serial オプションを指定することで、そのライセンス下で実行ができる。プロライセンスだったらシリアル番号が発行されてるけど、そもそもフリーライセンスの場合はどうしたらいいのかわからず、調べてもあまり情報が出てこなかったので備忘録としてメモ。

ただし、あまり情報もなく、ほんとに正しいのかどうか、そもそも別の方法で回避できるかもわからず。

より正確な情報や間違っている情報があれば、ぜひ@yucchiy_までご連絡ください。

シリアルナンバーを取得する手順

ライセンスリクエストファイル(alf拡張子)というものを生成して、そこからライセンスページより、ライセンスファイル(ulf拡張子)を作成します。

その後、作成したライセンスリクエストファイルをUnityで読み込むと、そのフリーライセンスがアクティベートされます。

あとは、アクティベートしたライセンスのシリアルナンバーを利用してコマンドラインを叩けるようになります。

ライセンスリクエストファイルを作成する

alfファイルは、Unityのコマンドラインから作成することができます。アクティベートするマシンから、下記のコマンドを発行します。

$ /path/to/Unity -quit -batchMode -createManualActivationFile

すると、コマンドを実行したディレクトリに.alfファイルが作成されます。

ライセンスファイルを作成する

センスファイルは、ライセンスリクエストファイルを元に作成できます。 作成は https://license.unity3d.com/manual より行います。

「Choose the license request file」をクリックすると、ファイルアップロードを要求される。ここでは、先ほど作成したalfファイルを指定します。

すると下記の画面が出るので、「Unity Personal Edition」を指定する。次の選択肢は適切なものを選択し、「Next」をクリックします。

下記のページで「Download license file」をクリックするして、ライセンスファイルをダウンロードします

ulfファイルを読み込む

下記のコマンドを実行します。

$ /path/to/Unity -quit -batchMode -manualLicenseFile /path/to/licensefile

すると、対象のUnityにライセンスがインストールされます。ここから、シリアルナンバーを知るためには、先日紹介したu3dを用いると、以下のように確認できます。

$ u3d licenses
/root/.local/share/unity3d/Unity/Unity_lic.ulf: 6.x F4-XXXX-XXXX-XXXX-XXXX 2019-01-09T18:10:40

F4-XXXX-XXXX-XXXX-XXXXがシリアルナンバーになります。

シリアルナンバーをコマンドラインで利用するには-serialオプションを利用します。

$  u3d run --trace  --unity_version 2018.2.7f1  --  -logFile './editor.log' -executeMethod U3d.EditorRun.Build -serial F4-XXXX-XXXX-XXXX-XXXX --quit -batchmode -nographics

また、一度認証したライセンスを返却する場合は下記のコマンドを利用します。

$ /path/to/Unity -quit -batchmode -returnlicense

まとめ

Unityのフリーライセンスにて、コマンドラインを経由してライセンスをアクティベーションし、シリアルナンバーを発行する方法を紹介しました。

もし間違っているよなどツッコミがあれば、ぜひ@yucchiy_および、下のコメントフォームでお願いいたします。

参考