Tutorial: How to setup Unity and build the S3 example for an Android device using the AWS Mobile SDK for Unity

This tutorial was made on Saturday, 4th May 2019 using Unity 2018.3.14f1.

In my previous tutorial I described how to set up AWS S3 for Unity, this tutorial shows how to fix the broken S3 example from Amazon.

My Unity project can be found on GitHub: https://github.com/gngriffiths/unity-amazon-s3-asset-bundle-example

Steps to fix the Unity AWS SDK

  1. Download the zip from Amazon as shown in the steps from Set Up the AWS Mobile SDK for Unity: http://sdk-for-net.amazonwebservices.com/latest/aws-sdk-unity.zip

  2. Use Unity 2018.3.14f1 because the latest Unity has a bug with AWS. The issue has been reported, please vote on it so that a fix is put in place and we can use the latest version of Unity: Android AWS SDK stopped working in Android Builds with Unity 2019.1.0a1 and up.

  3. Unzip the downloaded aws-sdk-unity.zip and then in Unity go to Assets / Import Package / Custom Package
    Import SAWSSDK.S3.3.3.101.13.unitypackage

  4. The example package from Amazon is broken, fortunately an awesome blog post from What’s In A Game tells you exactly how to fix Amazon’s broken AWS SDK for Unity. Download the S3Example.cs from the blog post and copy it over the version that comes with the SDK (I just copied over the file in my file browser).
    Also download the awsconfig.xml and link.xml files and place them in a Resources folder in Unity’s assets (if you do not have a Resources folder, simply right click in the assets panel and make a new folder called Resources).
    Note that the awsconfig.xml has a location code in the xml set to "us-west-2”. The location code should be updated to your location. If you need help finding the location code check out my previous tutorial linked at the top of the page.

  5. Do a test build to an Android device.
    If the Unity Android AWS S3 app fails to on open search for the AndroidManfest.xml inside of Unity assets (use the search inside of Unity).
    Change the line:

    <activity android:name="com.unity3d.player.UnityPlayerNativeActivity"

    To:

    <activity android:name="com.unity3d.player.UnityPlayerActivity"

    Save and build to the Android device.

  6. The new build should fix the issue, try touching the top button List Objects. Text on the screen should appear with Got Reponse, Printing now.