Welcome to Unity Cloud Content Delivery

Cloud Content Delivery (CCD) is a managed cloud service that hosts and delivers content to your application’s users worldwide without having to reinstall a new version of the application. The service is fully integrated into the Unity development platform, saving you months of building and maintaining your own similar service. CCD is most valuable for content-rich, live games or applications that require content updates on a regular basis.

CCD interfaces

There are multiple ways to integrate your application content with Cloud Content Delivery (CCD):

CCD organization

In CCD, you organize your content into buckets to create a clear workflow for your project. A typical workflow example could be having separate buckets per platform (for example, an iOS bucket and an Android bucket). Within a given bucket, you group specific versions of each asset to create a release. As these versions change, or you add and remove entries, you designate new releases as required.

A release can also have a unique identifier associated with it, called a badge. Give this badge a meaningful name, then use it to query content, and move it between releases to add flexibility to your workflow.

Buckets

Using Cloud Content Delivery, you organize your content into buckets to create a clear workflow for your project. A bucket is a single context for publishing content, such as the platform or environment. A typical workflow example could be having separate buckets for development, staging and production builds, with names such as ios_staging and ios_production. A bucket can be private or public. Private buckets protect read access to buckets with an access token, so that only those users with that access token can retrieve content from that bucket. You can also mark a bucket as "promotion only" in order to restrict write access to that bucket and prevent mistakes such as uploading incorrect content to the wrong bucket. The image below shows a sample bucket as it appears in CCD, including its bucket ID, Promotion Only setting, Privacy setting, description, and the details for a release within the bucket.

An example of buckets in CCD

You can create and edit buckets either in the Dashboard or through the CLI.

Entry

An entry is a single unit of content within a bucket. Entries support labels and metadata. Creating a release captures the current state of all the entries in the bucket, similar to a versioning process.

An example of entries and their details within a bucket

Uploading entries to a bucket pushes a local folder’s contents to the remote bucket, which automatically adds, updates, and deletes contents in the bucket, as necessary. CCD supports entries of many file types, the most popular being .gzip, .txt and .bundle (AssetBundles).

Each entry has the following information:

  • ID: The identification string of this entry.
  • Path: The location of this entry.
  • Content type: This field is set via the API.
  • Content hash: The MD5sum hash value for this entry.
  • Content version: Every time an entry changes (for example, when you upload a new version of this file, add metadata), the entry gains a new content version string. Using older version strings ensures you still have access to older, overwritten files.

Release

When you create a release, CCD takes a snapshot of all the entries (at their current versions) contained in a bucket at that specific point in time. To remove, update, or add entries, you must create a new release in order to deliver the new or changed entries. You can move releases between buckets by a process called promotion.

Creating or promoting a new release does not create copies of the entries in a bucket.

Badge

Badges enable you to select which release your application uses. You can assign a unique badge to a release, and request the badged content using that badge’s name. The image below shows how badges appear in CCD.

An example of badges in a bucket

You can move this badge between releases, adding more flexibility to content workflows. Moving a badge removes it from the previous release that it was associated with. You can only assign a badge to a single release at a time, but you can associate multiple different badges to a release.

By default, an automatically generated badge named latest is assigned to the latest release.