Monday, May 18, 2015

AWS Unity SDK Overview

The AWS Unity SDK provides functionality for four main services:

  1. Amazon Cognito
  2. Amazon S3
  3. DynamoDB
  4. Amazon Mobile Analytics

Key Purposes

  • Authenticate users for services.
  • Store player and game data securely.
  • Save and manage objects in the cloud.

Service Details

Amazon Cognito

  • Purpose: Store app configurations and game states in the cloud without requiring a backend server.
  • Key Features:
    • Manages mobile credentials for consistent app experiences across devices.
    • Eliminates hardcoding credentials, aligning with security best practices.
    • Supports guest state storage, enabling functionality even without user sign-in.
    • Offline Functionality: Operates as a client-side library for state management.
      • Syncs with AWS cloud when connected using the synchronization API.
    • Data Format: Key-Value style storage.

Amazon S3

  • Purpose: Manage static data and host resources.
  • Use Cases:
    • User profile photos.
    • CDN (Content Delivery Network) resources.
    • Streaming downloadable content.

DynamoDB

  • Purpose: Provide CRUD operations for structured data directly within Unity.
  • Key Features:
    • Offers fine-grained data representation (schema, query support).
    • Complements Cognito by allowing detailed data manipulation.

Amazon Mobile Analytics

  • Purpose: Collect and analyze mobile app usage data efficiently.
  • Features:
    • Displays event data on the dashboard within 60 minutes of receipt.
    • Supports exporting data for direct SQL queries and in-depth analysis.
    • Provides behavioral analytics based on segments like:
      • Location, language, app/platform version, device manufacturer/model.
    • Tracks users by device and account.
    • Offline Support: Caches data locally and uploads it when a network connection is available.

Notable Characteristics

  • Amazon Cognito:

    • Simplifies backend setup for state management and configuration storage.
    • Ensures secure, flexible credential management.
  • Amazon S3:

    • Scales for hosting static resources and managing assets effectively.
  • DynamoDB:

    • Adds schema flexibility and advanced querying capabilities.
  • Amazon Mobile Analytics:

    • Provides actionable insights with real-time analytics.
    • Allows exporting and owning the data for further analysis.

These tools empower Unity developers to build scalable, secure, and data-driven applications without the need for extensive backend infrastructure.