R3をUnityNuGetとOpenUPMで楽々インストール
はじめに
UniRxの後継としてR3がリリースされました。
R3はコア部分と各プラットフォーム部分に分離されていて、コア部分はNuGet、Unity向けの部分はupmで提供されています。
しかしUnityでコア部分をインストールするためにNuGetを利用するのは一手間かかって面倒です。
そこでNuGetの一部をupmで提供しているUnityNuGetとOpenUPMを利用すると簡単に導入できます。
UnityNuGetとOpenUPMを設定する
Unityのプロジェクト設定 > パッケージマネージャーを開き、以下のスクショのように2つのScoped Registryを追加します。
Name: Unity NuGet
URL: https://unitynuget-registry.azurewebsites.net
Scope(s): org.nuget
Name: OpenUPM
URL: https://package.openupm.com
Scope(s): com.cysharp
【追記】OpenUPMだけでUnityNuGetのパッケージも利用する
実験的な段階ですが以下のようにOpenUPMのScope(s)へ org.nuget
を追加するとUnityNuGetのパッケージを利用できます。
UnityNuGetのサーバーはリポジトリやサーバーの更新などで利用できない場合があるのでOpenUPMへ寄せてしまうのも手です。
Name: OpenUPM
URL: https://package.openupm.com
Scope(s): org.nuget
Scope(s): com.cysharp
R3をインストールする
パッケージマネージャー > マイレジストリを開き、以下のスクショのようにUnity NuGet内の R3 (NuGet)
とOpenUPM内の R3
からインストールします。すると依存関係のライブラリも一緒に導入されます。
これで以下のようにupmとしてR3をインストールできます。
Observables.R3をインストールする
Observables.R3 もUnityNuGetへ追加されたのでパッケージマネージャーからインストールできます。
依存関係にObservablesが含まれているのでObservables.R3をインストールすると一緒に追加されます。
UnityNuGetの注意点
UnityNuGetは新しく追加したライブラリを反映する際にデプロイすると完了するまで数時間かかります。
そのためデプロイされた日は利用できない時間帯があります。
またPull Requestsで取り込んでもらってもすぐには利用できず、約月1回のデプロイまで待つ必要があります。
サーバーの状態は /-/all
API endpoint から確認できます。
Discussion