10 required that code that addressed support for Unity's Addressable system was in a separate .asmdef file in-order to only reference Addressables when the package is used by this Unity project.
In order to archive this level of modularity, I'm going to need to expose two parts of AssetIcons via a low-level API:
Drawing of graphics by their type (Sprite, Texture, e.t.c)
Loading of graphics from a target ScriptableObject
By abstracting the loading of graphics I can allow the Addressables implementation load graphics via asynchronous APIs.
"Compat" (compatibility) layers will be easy to create and will allow me to easily extend support and allow for user-customization of the asset.
10 required that code that addressed support for Unity's Addressable system was in a separate
.asmdef
file in-order to only reference Addressables when the package is used by this Unity project.In order to archive this level of modularity, I'm going to need to expose two parts of AssetIcons via a low-level API:
Sprite
,Texture
, e.t.c)ScriptableObject
By abstracting the loading of graphics I can allow the Addressables implementation load graphics via asynchronous APIs.
"Compat" (compatibility) layers will be easy to create and will allow me to easily extend support and allow for user-customization of the asset.