UnityからAWSヘのネットワーク実装で

AWS Mobile SDK for Unity の使用開始 – AWS Mobile SDK

を使用しようとするとUnityのバージョンによっては下記のようなエラーが出る場合があります。

Amazon.Runtime.Internal.HttpErrorResponseException: Exception of type 'Amazon.Runtime.Internal.HttpErrorResponseException' was thrown.

Unityのバージョン2017から若干ネットワークに関する仕様が若干変更したようです。(AWSのSDKは5..系のままアップデートされていない)

対処法は下記

  1. スクリプトのコンストラクタでHttpClientの設定を変更
UnityInitializer.AttachToGameObject(this.gameObject);
AWSConfigs.HttpClient = AWSConfigs.HttpClientOption.UnityWebRequest;
  1. S3にオブジェクトをアップロードする場合はリクエストにリージョンを追加
var request = new PostObjectRequest()
{
Bucket = S3BucketName,
Key = fileName,
InputStream = stream,
CannedACL = S3CannedACL.Private,
Region = _S3Region
};

これでSDKが正常に動作します。