1.1.0
2023-03-29
Unity version
次のUnityバージョンで動作確認しています。
2021.3.20f1
Modules
- Extreal.Core.Logging 1.1.0
- Extreal.Core.StageNavigation 1.1.0
- Extreal.Core.Common 1.0.0
- Extreal.Integration.Multiplay.NGO 1.1.0
- Extreal.Integration.Chat.Vivox 1.1.0
- Extreal.Integration.AssetWorkflow.Addressables 1.0.0
Dependencies
- Common
- UniTask 2.3.3 (MIT License)
- UniRx 7.1.0 (MIT License)
- Extreal.Integration.Multiplay.NGO
- Netcode for GameObjects 1.2.0 (MIT License)
- Extreal.Integration.Chat.Vivox
- Vivox Unity SDK 15.1.190400-pre.1 (Unity Package Distribution License)
- Extreal.Integration.AssetWorkflow.Addressables
- Addressables 1.19.19 (Unity Companion License)
Changes
Extreal.Core.Logging
Changed
Extreal.Core.StageNavigation
Changed
- Dispose Patternを適用しました。(PR)
Extreal.Core.Common
Added
- 汎用的な処理を共通機能として提供するモジュールを追加しました。(Doc)
- Dispose Patternを継承/移譲で適用する機能を追加しました。(Doc, PR)
- リトライ処理をメソッドに適用する機能を追加しました。(Doc, PR)
Extreal.Integration.Multiplay.NGO
Changed
- Dispose Patternを適用しました。(PR)
- 通信が切断された時に再接続する機能を追加しました。(Doc, PR)
Extreal.Integration.Chat.Vivox
Changed
- Dispose Patternを適用しました。(PR)
- 通信が切断された時に再接続する機能を追加しました。(Doc, PR)
- VivoxClientの初期化時にVivoxConfigを指定できるように変更しました。(PR)
- チャンネル切断時に必要となるChannelIdをチャンネル接続時(VivoxClientのConnectAsyncメソッド)に返すように変更しました。(PR)
- ログイン(VivoxClientのLoginAsyncメソッド)とチャンネル接続(VivoxClientのConnectAsyncメソッド)の処理失敗をすぐに検知できるように処理失敗を判定する方法をタイムアウトから処理結果を待って判定するように変更しました。(PR)
- この変更は後方互換に影響があるためUpgrade guideを参照してください。
- ログインしていない状態でチャンネルを切断(VivoxClientのDisconnectメソッド)しても例外が発生しないように変更しました。(PR)
Extreal.Integration.AssetWorkflow.Addressables
Added
- Addressablesをアプリケーションで使いやすくするラッパーを提供するモジュールを追加しました。(Doc)
Upgrade guide
モジュールバージョンを更新してください。
後方互換に影響がある変更があるため、下記を確認して該当するアプリケーションは対応してください。
Extreal.Integration.Chat.Vivox
変更影響があるアプリケーション
次の条件を1つでも満たすアプリケーションに影響があります。
- ログイン(VivoxClientのLoginAsyncメソッド)またはチャンネル接続(VivoxClientのConnectAsyncメソッド)にてタイムアウトを指定している
- ログインまたはチャンネル接続の呼び出しにてTimeoutExceptionに対する例外処理を行っている
変更影響と対応方法
ログインとチャンネル接続にて処理失敗を判定する方法をタイムアウトから処理結果を待って判定するように変更しました。 ログインとチャンネル接続は非同期処理のため結果が返ってこない場合を考慮しタイムアウトで処理を切り上げ、メソッド呼び出しとは別のイベント通知でログイン状況や接続状況を把握する方針としていました。 再接続の追加に伴い様々なケースでテストをした結果、ログインとチャンネル接続の処理結果が返ってこないケースがないことを確認できたため、すぐに処理失敗を検知できるように今回の変更を実施しました。
変更影響は次の通りです。
- VivoxClientのLoginAsyncメソッド
- タイムアウトが指定できなくなりました。
- 処理が失敗した場合に送出される例外がTimeoutExceptionからVivoxConnectionExceptionに変わりました。
- VivoxClientのConnectAsyncメソッド
- タイムアウトが指定できなくなりました。
- 処理が失敗した場合に送出される例外がTimeoutExceptionからVivoxConnectionExceptionに変わりました。
次の対応を実施してください。
- タイムアウトを実現したい場合は各メソッドの呼び出し側で実装してください。
- 各メソッドの処理失敗時に捕捉していた例外をTimeoutExceptionからVivoxConnectionExceptionに変更してください。