Your Questions: Cloud Content Delivery and Addressables
The Addressable Asset System is a vital feature for many Unity users – particularly those with lots of content to manage. We’ve noticed some questions about using Cloud Content Delivery to deliver those assets to players, so here’s a quickstart guide.
Cloud Content Delivery (CCD) binds together an extremely powerful technology stack to make building and releasing content updates seamless for both you and your players. Combining easy asset management with an immense global content delivery network (CDN), this is the first truly end-to-end service for live game updates available for game developers.
Regardless of your existing setup, Cloud Content Delivery is designed for agility and ease of use. However, getting started is even easier for those of you already using the Unity engine.
On the forum, in conversation with our client partners, and in survey responses, you’ve been asking about how to take advantage of Cloud Content Delivery’s in-engine integrations. This article focuses on one of its most important – Addressables.
Make short work of content management
Simply put, the Addressable Asset System helps you store and catalog game assets so that they can be automatically found and called. Cloud Content Delivery then pushes those assets directly to your players via our CDN partner, Akamai – completely separate from your code. This vastly reduces your build size and eliminates the need to have your players download and install whole new game versions whenever you want to make an update.
This combination of functionality is very useful in the operation of live games because it essentially enables you to “lazy load” whichever specific game assets are relevant to any player’s given session. In free-to-play (F2P), for example, most of your players will not stick around long enough to reach the late game – 70% of users won’t even return after Day 1. Requiring a large majority of players to download assets that are irrelevant to them creates needless friction, causes longer download wait times, and may even push lapsed or frustrated players to churn.
Using the Addressable Asset System in conjunction with Cloud Content Delivery, you can easily package together all of the assets required for a specific game mode, mission, or event and ensure that they are only ever pushed to relevant players when they need it. Expanding that principle to your entire content pipeline has a huge positive impact on both the player experience and your business. Live games require constant updates, and Cloud Content Delivery makes the process of deploying new content sustainable, automated, agile and reliable.
Cloud Content Delivery is billed entirely on usage – you are charged only for the assets delivered. This means that pushing assets exclusively to a subset of players will greatly reduce your bandwidth used and ultimately save you money. Better still, because we provide your first 50 GB of bandwidth free of charge every month, you can try out the service in soft launch without incurring any costs while you’re developing and testing your content.
Problem-solving and experimentation
The same principles that apply to content updates also apply to bug fixes. The Addressable Assets System works in such a way that you can quickly locate the faulty asset(s) causing issues for your players. Having identified and fixed the issue, you can then deploy your new assets without forcing all players to redownload the game.
The badging system in Cloud Content Delivery makes experimenting extremely easy as you can identify and switch between different builds/versions at will. Tagging different resource buckets as [staging] or [production], for example, makes it simple to cycle through the various projects in your build pipeline. Similarly, bundling assets as iterative build versions will allow you to jump back and forth with ease so that you can reverse any unwanted changes or roll back unsuccessful updates with the click of a button.
Connecting Cloud Content Delivery with the Addressable Asset System
In order to start putting Cloud Content Delivery to work as above, you’ll need to connect addressables to the command-line interface (CLI). Follow the four steps below to get yourself set up.
- Configure your assets as Addressable
The first step to managing Addressable Assets with Cloud Content Delivery is to mark the assets you require as Addressable. See Marking assets as Addressable.
- Configure your groups
Next, it’s important to place your assets into groups. This is important because you need to generate AssetBundles later, based on these groups. See Using the Addressables window.
- Configure profile with Cloud Content Delivery URL
Next, you need to link your project to your Cloud Content Delivery project. You do this by inserting a custom URL as the RemoteLoadPath of your desired Addressables profile. At this stage, there are two workflow paths you can choose, each with its own custom URL.
- The basic workflow points to the latest content in the specified bucket, given by: https://(ProjectID).client-api.unity3dusercontent.com/client_api/v1/buckets/(BucketID)/entry_by_path/content/?path=
- The badge workflow links your project to the contents pointed at by a specific badge:
- (ProjectID) is your Cloud Content Delivery project’s ID string
- (BucketID) is the Bucket ID string for the Cloud Content Delivery bucket within your project with which you want to interact
- (BadgeName) is the name of the specific Cloud Content Delivery badge with which you want to interact
Once you have your custom URL:
- In the Editor, select Window > Asset Management > Addressables > Profiles.
- In the RemoteLoadPath field for the desired profile row, enter your URL.
For that profile, your project will now know where to fetch its Addressable Assets.
- Build and upload Addressable content to Cloud Content Delivery
Next, for the profile you want to use with Cloud Content Delivery, you must generate your Addressable content that you will later place in your Cloud Content Delivery project.
- To build content, see Building your Addressable content.
- If you are changing the contents of a group, see Building for content updates.
Building your Addressable content can generate a content catalog (.json), a hash file (.hash), and an AssetBundle (.bundle) file. At this point, you need to upload these files to the bucket you specified above via the Cloud Content Delivery CLI.
This is where Cloud Content Delivery really comes into its own. As soon as the Addressable bundle has identified where to find the linked bucket, you can manage all the content therein, QA it, and move it between staging and production with ease.
Unite Now: Nifty backend management for live games
Since late 2020, Nifty Games have been using Cloud Content Delivery and Addressables (among other Unity products) to deliver a lean and smooth player experience in their title NFL Clash. Nifty’s Head of Technology, Ibs Rageh, walks through their process for managing releases and deploying content while minimizing the demand on their users.
Get started with Cloud Content Delivery
Check out this video to get a high-level summary of what Cloud Content Delivery can bring to your games, then sign up for Cloud Content Delivery today and get your first 50 GB of bandwidth free every month.