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

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Linux Rootkits — Multiple ways to hook syscall(s)

5 Things to Know About Service Mesh Performance

Coinbase is a mission focused company

Install app: Google Opinion Rewards

Git: from beginner to advanced user

Programming Language MANOOL

Google Colab — The Beginner’s Guide

Batch Operation — S3

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Niklas Bergstrand

Niklas Bergstrand

Unity / C# Game developer

More from Medium

LetsGrowMore Web Development Virtual Internship [Jan-2022]

Edge Computing Nodes in Manufacturing: Benefits in Real-World Applications

What Is The Difference Between LoRa and LoraWAN?

What Is The Difference Between LoRa and LoraWAN — C&T RF Antennas Inc

JSSmallTips — Creating custom matcher assertions with Jest