How to get started with AWS S3 cloud storage for Unity

Let’s go over how to get started with AWS cloud storage for Unity.

First, go to and create an account:

Download the AWS SDK package from

Open up Unity and import the S3 package:

Open up your web browser again and on the AWS website navigate to Amazon Cognito. Click on Manage Identity Pools:

Enter a name for the identity pool and tick “Enable access to unauthenticated identities”

Click on allow:

Go to S3 Buckets:

Click on create bucket:

Enter a unique name for the bucket:

Scroll down and click on Create bucket:

Go to IAM and create a policy:

Set service of the policy to S3 and allow all actions:

Name the policy and then click on create policy:

On the IAM main page click on roles and then click on the unauthenticated role:

Make note of the Role ARN and attach the new policy created:

Go back to S3 and select the bucket:

Click on the permissions tab:

Click on Edit bucket policy:

Click on Policy Generator:

AWS Policy Generator:
- Set Policy to S3 Bucket Policy.
- Set Effect to Allow.
- In the principal field add the Role ARN.
- Allow All Actions
- In the ARN field enter the following text “arn:aws:s3:::BUCKETNAME/*”
i.e arn:aws:s3:::aws-insurance-app-bucket/*

Click Add Statement and then Generate Policy:

Copy the JSON text:

Add the text to the bucket policy and save:

Go back to Unity and create a script called AWSManager. Create a new game object and attach the script:

Open up the AWSManager script and copy over the using directives from the S3Example script that came with the S3 package. Turn the AWSManager class into a singelton:

Create the two properties needed RegionEndpoint and AmazonS3Client. You get the details that belongs to your app from the sample code on Amazon Cognito:

Lastly, in the Awake function initialise by calling UnityInitialiser.AttachToGameObject. Set AWSConfigs.HttpClient to UnityWebRequest and then list all the buckets for this app:

If all is correct you will get this output in the console window when you press play:

Good luck!

Unity / C# Game developer