Can I manually provide an AssetBundle to the Addressables system to use?

Following up on the previous thread , I have set up my own system for downloading a certain AssetBundle outside of the Addressables system. Is there an API I can invoke to simply provide an instance of the AssetBundle class to the Addressables system and have it be used for future resource lookups?

I don’t think so.
The Addressables system works with resource locator objects, which they generate from the content catalog file. This catalog file is created by the Addressables system during build time.
Just a standalone Assetbundle file does not have such a content catalog file, so it can’t be added with any existing API. You could hack that in yourself of course.

Fair. I do also have a content catalog file, but it looks like there isn’t a way to provide that to Addressables either.

I think what I will do is just write a little abstraction layer which uses Addressables or AssetBundles depending on context.

You can use Addressables as the base system to provide non addressable content, like your bundles built outside of addressables. But you need to inform the locators for any and all resource look ups.

If you have your own custom format you can add them like something like this:

void AddCustomLocationMap()
{
    ResourceLocationMap map = new ResourceLocationMap("myId");
   
    ResourceLocationBase bundleLocation = new ResourceLocationBase("bundleName", "usualyUrlToBundle",
        typeof(AssetBundleProvider).FullName, typeof(AssetBundleResource));
    map.Add("loadingKey", bundleLocation);

    ResourceLocationBase assetLocation = new ResourceLocationBase("assetName", "internalIdForLoadingAssetFromBundle",
        typeof(BundledAssetProvider).FullName, typeof(GameObject), new IResourceLocation[] {bundleLocation});
    map.Add("assetLoadKey", assetLocation);
   
    Addressables.AddResourceLocator(map);
}

Alternatively you can use editor time to generate an Addressable content catalog, which can be loaded. This is an old example, but should still work: PrefabArrangementToAddressable.cs · GitHub