How-to Host Addressable Assets with an Azure Blob

Badger Dox
4 min readDec 4, 2019

Part 2 of 3: Setting up Unity3D’s Addressable Asset Package to connect with an Azure blob.

Previous tutorial: Part 1 of 3 — Blob setup.

With your Azure blob created the focus is back in Unity3d. To set up remote services for Unity3D’s Addressable Assets is a breeze. In Unity3D have open the Addressbles Groups window. Create a new profile to keeps the changes we’re going to make isolated from your other addressables settings. Check out this post for more profile information.

\( ̄︶ ̄*\))

Create a new profile using the drop-down within the Addressables Groups window goto Profile → Manage Profiles.

Or use the Unity3D toolbar, Window → Asset Management → Addressables → Profiles. Once in the new window select Create → Profile and name it AzureBlob.

Important set the new profile to active highlight profile → right click → Set Active

After confirming that your AzureBlob profile is active, search for the RemoteLoadPath field in the window. The link provided in the previous tutorial that was generated by our blob will be pasted there.

Before

After

Let’s configure Unity3D in order to make it possible to build the game’s Addressable Assets via the cloud. Open the AddressableAssetSettings scriptable object from the Project window goto Assets → AddressableAssetsData → AddressableAssetSettings.

The inspector will display AddressableAssetSettings options, keeping an eye out for the Catalog dropdown and select to open if it isn't already. Tick the box for Build Remote Catalog. Looking out for the option BuildPath, set to RemoteBuildPath. Under that will be Load Path change this to RemoteLoadPath.

Time to update an asset group to load remotely. Caution, if you skip this step your assets cannot be loaded. Change how the chosen asset group(s) is built by highlighting it within the Addressables window → right-clicking → Inspect Group Settings. The inspector will once again display the groups configurations. Under Content Packing & Loading once again needing to change Build Path and Load Path. Build Path to RemoteBuildPath and Load Path to RemoteLoadPath.

You’ve hit the final step to this section! b( ̄▽ ̄)d

Your addressable assets now possess the ability to connect with your Azure Blob. To give our blob something to host Unity3d has some file it needs to generate for us. Get these files by building your addressables.

This takes only a few clicks within the Addressables Groups Window → Build Dropdown → New Build → Default Build Script. After your addressables build successfully Unity3d has automatically created a new folder within our Assets Folder named ServerData. This data must be generated before you are able to move on, check this from the project window by highlighting Assets → Right-clicking → Show In Explorer.

IMPORTANT You need to have 3 files within the folder(s) inside of the ServerData folder. The files should be a JSON, HASH, and a BUNDLE.

After the project successfully creates its own versions of these files you are now able to utilize the cloud.

Just a bit more to go, you’ve got this! Section three is where we build the game and officially load our Addressable Assets from our Azure Blob .

Was this helpful? Please share it wherever it would be useful. Anything unclear? Leave a comment or join us on Discord either way I’ll respond as thoroughly as I’m able.

--

--