1.1.0
2023-03-29
Unity version
The following Unity versions have been tested.
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
- Added the ability to filter log output by log category. (Doc, PR)
- Added the ability to specify the color of logs output by the Unity standard Debug class for each log category. (Doc, PR)
Extreal.Core.StageNavigation
Changed
- Dispose Pattern has been applied. (PR)
Extreal.Core.Common
Added
- Added the module that provides general-purpose processing as a common feature. (Doc)
- Added feature to apply Dispose Pattern by inheritance/delegation. (Doc, PR)
- Added ability to apply retry processing to methods. (Doc, PR)
Extreal.Integration.Multiplay.NGO
Changed
- Dispose Pattern has been applied. (PR)
- Added the ability to reconnect when communication is disconnected. (Doc, PR)
Extreal.Integration.Chat.Vivox
Changed
- Dispose Pattern has been applied. (PR)
- Added the ability to reconnect when communication is disconnected. (Doc, PR)
- Changed so that VivoxConfig can be specified when initializing VivoxClient. (PR)
- Changed to return ChannelId, which is required when disconnecting a channel, at the time of channel connection (ConnectAsync method of VivoxClient). (PR)
- Changed the method of detecting processing failures in login (LoginAsync method of VivoxClient) and channel connection (ConnectAsync method of VivoxClient) from timeout to waiting for the processing results to be determined so that processing failures can be detected immediately. (PR)
- Please refer to the upgrade guide as this change affects backward compatibility.
- Changed so that disconnecting a channel (Disconnect method of VivoxClient) while not logged in will not raise an exception. (PR)
Extreal.Integration.AssetWorkflow.Addressables
Added
- Added the module that provides a wrapper to make Addressables easier to use in applications. (Doc)
Upgrade guide
Please update the module versions.
Since there are changes that affect backward compatibility, please check the following and respond to the applicable applications.
Extreal.Integration.Chat.Vivox
Applications affected by the change
Applications that meet at least one of the following conditions are affected.
- Timeout is specified in login (LoginAsync method of VivoxClient) or channel connection (ConnectAsync method of VivoxClient)
- Exception handling for TimeoutException in login or channel connection calls.
Change impact and how to respond
The method of detecting failure in login and channel connection has been changed from timeout to waiting for the processing result. Since login and channel connection are asynchronous processing, we decided to round off processing at timeout in consideration of cases where the result is not returned, and to use event notifications separate from method calls to monitor the login and connection statuses. After testing various cases with the addition of reconnection, we were able to confirm that there were no cases where the results of login and channel connection processing were not returned, so we made this change so that processing failures can be detected immediately.
The change impact is as follows.
- LoginAsync method of VivoxClient
- Timeout can no longer be specified.
- The exception sent when processing fails has been changed from TimeoutException to VivoxConnectionException.
- ConnectAsync method of VivoxClient
- Timeout can no longer be specified.
- The exception sent when processing fails has been changed from TimeoutException to VivoxConnectionException.
Please take the following actions.
- If you wish to realize a timeout, implement it on the caller side of each method.
- Please change the exception that was caught on processing failure of each method from TimeoutException to VivoxConnectionException.