かりんちゃんの随心遊戯日誌

ゲームの日記、たまに政治の話、香港の話

SignalRをUnityにそのまま導入すると、Android(IL2CPP)ではエラーになる

仕事のUnity案件ではSignalRの導入が必要であった。NuGet for Unityからインストールすれば利用できるが、IL2CPPモードではそのままAndroidにデプロイすると、必ずHubConnectionBuilder で「InvalidOperationException: Sequence contains no matching element」というエラーが出る。

色々と調べましたら、たぶんUnityがデプロイビルドするとき、一部SignalRのものをTrimしたと思われる。

実際アセットフォルダでlink.xmlを作成し、以下を追加してビルドすると無事に接続できました。

<linker>
  <assembly fullname="Microsoft.AspNetCore.SignalR.Client.Core" preserve="all"/>
</linker>

ソース:https://learn.microsoft.com/en-us/answers/questions/1275767/signalr-not-working-on-ios