LoginSignup
0
0

More than 1 year has passed since last update.

【Unity】PlayFab で Curl error 61 が出ていたときの話

Posted at

はじめに

初投稿です。
タイトルの件について、既に解決している方も多いと思いますが、こういうケースがあったということで備忘録的に書き記します。
当時もあまり話題にされなかったので、原因がわからなくて詰まっている人の助けになれば幸いです。

原因

Unity バージョン 2020.3.9 ~ 2020.3.15 または 2021.1.3 ~ 2021.1.16UnityWebRequest などネットワーク機能を使っていると起こりうる問題で、
バージョンアップされた libcurl がサポートされていないデータ圧縮エンコーディングを拒否するようになり、gzip 圧縮をリクエストすると失敗を返すようになったことが原因でした。
他にSDK内で gzip 圧縮 を使っていた VRoid , Mapboxでも起きていたみたいですね。

IssueTracker: UNITYWEBREQUEST FAILS ON WINDOWS IF GZIP COMPRESSION IS USED

解決

自分の環境では当時、リクエストヘッダーで "Accept-Encoding""gzip" を指定している箇所を "identity" に変更することで対処しました。

PlayFabでは、
PlayFabUnityHttp.csMakeApiCall 内の
reqContainer.RequestHeaders["X-Accept-Encoding"] = "GZIP";
と書かれているところを、
reqContainer.RequestHeaders["X-Accept-Encoding"] = "identity";
ですね。

現在は 2019.4.30, 2020.3.16, 2021.1.17 それぞれで UnityWebRequestgzip 圧縮をサポートするように修正されているので、まだエラーが出ている方は Unity のバージョンを確認してみてください。
しれっと 2019.4 で修正をしたと書きましたが、リリースノートに書いてあるのを見ただけで 2019.4 でいつから同様の問題が出ていたかは、発生報告を見つけられなかったのでわかりません。

参考程度に Unity リリースノートをリンクしておきます。
修正項目は Networking の分類です。

結論として、よほどの理由がない限り Unity のバージョンを上げたほうが良いでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0