Introduction to distributing remote content
Distributing content remotely can reduce the initial download size and install time of your application. You can also update remotely distributed assets without republishing your application.
When you assign a remote URL as the load path of a group, the Addressables system loads assets in the group from that URL. When you enable the Build Remote Catalog option, Addressables looks up the addresses of any remote assets in the remote catalog, allowing you to make changes to Addressable assets without forcing users to update and reinstall the entire application.
After enabling remote distribution, you can build your content in two ways:
- A content-only build: Builds all content AssetBundles and catalogs. Always perform a full build before rebuilding your Player when preparing to publish or update your application.
- A content update build: Builds all content AssetBundles and catalogs, but sets up the remote catalog so that installed applications only need to download the changed AssetBundles. Run the Check for Content Update Restrictions tool to identify changes and prepare your groups before building an update.
After building a full build or an update, you must upload your remote catalog, catalog hash file, and remote AssetBundles to your hosting service.
Refer to Remote content profiles for tips on setting up Addressables Profiles to help you develop, test, and publish remote content.
Custom URL evaluation
There are several scenarios where you might need to customize the path or URL of an asset (an AssetBundle generally) at runtime. The most common example is creating signed URLs. Another is dynamic host determination. For more information, refer to Change Addressable load URLs for more information.
Remote content distribution
You can use Addressables to support remote distribution of content through a Content Delivery Network (CDN) or other hosting service. Unity provides the Unity Cloud Content Delivery (CCD) service for this purpose, but you can use any CDN or host you prefer.
Before building content for remote distribution, you must:
- Enable the Build Remote Catalog option in your AddressableAssetSettings (access using menu: Windows > Asset Management > Addressables > Settings).
- Configure the RemoteLoadPath in the Profile you use to publish content to reflect the remote URL at which you plan to access the content.
- For each Addressables group containing assets you want to deliver remotely, set the Build Path to RemoteBuildPath and the Load Path to RemoteLoadPath.
- Set desired Platform Target on the Unity Build Settings window.
After you make a content build (using the Addressables Groups window) and a player build (using the Build Settings window), you must upload the files created in the folder designated by your profile's RemoteBuildPath to your hosting service. The files to upload include:
- AssetBundles (name.bundle)
- Catalog (catalog_timestamp.json)
- Hash (catalog_timestamp.hash)
Refer to Distributing remote content for more information.