AWS Mobile Blog

AWS SDK for Unity Is Now Part of AWS SDK for .NET

by Karthik Saligrama | on | in .NET* | Permalink | Comments |  Share

In May 2015, we announced the general availability of the AWS SDK for Unity. Since then we have added support for many AWS services, including Amazon Simple Notification Service (Amazon SNS), AWS Lambda, and Amazon Simple Queue Service (Amazon SQS). We have also been incorporating feedback we have received along the way.

The AWS SDK for Unity was created from a fork of the AWS SDK for .NET and supported only a subset of its features. As the AWS SDK for Unity added support for more features, we realized that forking did not allow us to simultaneously release patches or new features on the AWS SDK for .NET and the AWS SDK for Unity. It was also difficult to accept pull requests from the open source community without diverging from the AWS SDK for .NET.

Starting today, we are releasing to our github branch a preview version of the AWS SDK for .NET with Unity components. Currently, the SDK can be built on Windows machines only. The branch contains test cases for all services supported on Unity, which can be run on Android, iOS, or on the Unity IDE. We have also introduced these changes to make the SDK easier to configure and use:

  • AWSPrefab

AWSPrefab served as a way to initialize the SDK on any given scene. Going forward, it can be configured by providing a public API on the Unity Initializer class. You can initialize the SDK by simply making the following call from the Start or Awake methods of your game component:

UnityInitializer.AttachToGameObject(this.gameObject);

  • Releasing assemblies in the Unity package

Going forward, when you download the Unity package for AWS SDK for Unity you will get assemblies instead of source code. We will also ship the PDB files for debugging. Each Unity package will now contain a minimum of four assemblies: AWSSDK.Core.dll, AWSSDK.CognitoIdentity.dll, AWSSDK.SecurityToken.dll, and the Service assembly. This creates a smaller footprint for the SDK and helps in our effort to make the SDK fully Ahead-of-Time (AOT)  compliant.

  • Releasing the source code under Apache license

Going forward, to make the SDK more open to contribution from the community, we will release the source code (with the exception of the Amazon Cognito Sync manager) under the Apache license on Github.

  • SDK version in sync with AWS SDK for .NET version

With this announcement, version 2.1.0.1 of the AWS SDK for Unity is available with limited support and will be deprecated in the future . The AWS SDK for .NET will be updated to include Unity support, so you should plan to migrate to the new version (3.x.x.x). We will track the SDK version per service rather than for the SDK as a whole. This means the Amazon S3 version of the Unity package will be different from the Amazon Cognito Sync or Amazon DynamoDB versions. You only need to update the SDK for the services that affect your game.

 

Please provide feedback on our forum or on Github. Take a look at the Unity samples, which have been updated to use the new SDK, and at our Known Issues on Github.