We need to create CCD projects and buckets that are populated by third party software not Unity Editor.
In particular geometry assets e.g. we need to upload .obj files into CCD for very exotic shapes.
CCD allows for direct uploads which we could immediately take advantage of. Mind you we already built our own system for such operations for about a year now, but pieces of functionality are missing which CCD provides rather well.
However no matter what we did we could not download any TextAssets from the CCD no matter how we arranged the file extensions and file modes (RW).
This is a general issue in Addressables, please see their forums, h__owever we need to solve this problem immediately in CCD or 90% of its utility is lost for our projects!__
Please see the code below. You could also enter .txt or text or .binary. Bucket is public feel free to upload download workaround if need be.
Key=https://79783c29-bb9b-456a-ae26-bca…e/latest/entry_by_path/content/?path=nav2.obj
Enter this URL into any browse and you can see the Asset Key created by CCD works, then the Asset Key is good:
Created with the Wolfram Language : www.wolfram.com
{}
g default
s off
v -0.3303311608651652 -1.7382996605858778 0
v -0.12940109358307478 -1.7258220104170805 0
v -0.18225154054844933 -1.4730067064431334 0
…
The code below fails, while it works for other assets created by Unity itself via the Addressables Group:
Unity 2021.1.3f1
macOS Big Sur
…
string release = “https://79783c29-bb9b-456a-ae26-bca…_by_badge/latest/entry_by_path/content/?path=”;
string asset = “nav2.obj”;
string key = release+asset;
AsyncOperationHandle handle = Addressables.LoadAssetAsync(key);
handle.Completed += loadexternal2;
}
private void
loadexternal2(AsyncOperationHandle handle)
{
Debug.Log(“handle success !!!”);
Addressables.Release(handle);
}
Errors
Exception encountered in operation CompletedOperation, status=Failed, result= : Exception of type ‘UnityEngine.AddressableAssets.InvalidKeyException’ was thrown., Key=https://79783c29-bb9b-456a-ae26-bca…e/latest/entry_by_path/content/?path=nav2.obj, Type=UnityEngine.TextAsset
UnityEngine.AddressableAssets.Addressables:LoadAssetAsync<UnityEngine.TextAsset> (object)
LoadExternal:loadexternal () (at Assets/LoadExternal.cs:107)
Dara
