🚀

R3をUnityNuGetとOpenUPMで楽々インストール

2024/02/16に公開

はじめに

UniRxの後継としてR3がリリースされました。
R3はコア部分と各プラットフォーム部分に分離されていて、コア部分はNuGet、Unity向けの部分はupmで提供されています。
しかしUnityでコア部分をインストールするためにNuGetを利用するのは一手間かかって面倒です。
そこでNuGetの一部をupmで提供しているUnityNuGetOpenUPMを利用すると簡単に導入できます。

UnityNuGetとOpenUPMを設定する

Unityのプロジェクト設定 > パッケージマネージャーを開き、以下のスクショのように2つのScoped Registryを追加します。
UnityNuGet
OpenUPM

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 からインストールします。すると依存関係のライブラリも一緒に導入されます。
UnityNuGet
OpenUPM

これで以下のようにupmとしてR3をインストールできます。
R3

Observables.R3をインストールする

Observables.R3 もUnityNuGetへ追加されたのでパッケージマネージャーからインストールできます。
依存関係にObservablesが含まれているのでObservables.R3をインストールすると一緒に追加されます。
Observables.R3

UnityNuGetの注意点

UnityNuGetは新しく追加したライブラリを反映する際にデプロイすると完了するまで数時間かかります。
そのためデプロイされた日は利用できない時間帯があります。
またPull Requestsで取り込んでもらってもすぐには利用できず、約月1回のデプロイまで待つ必要があります。

サーバーの状態は /-/all API endpoint から確認できます。

参考

Discussion