Addressables

Una de las cosas que eché de menos cuando mis proyectos se volvieron complicados fue la posibilidad de cargar assets directamente. Unity era el primer motor en el que no podía hacerlo, cualquier cosa que quisiese utilizar, tenía que estar debidamente referenciada de antemano, asignándola en el editor. Luego descubrí que existía una forma, pero involucraba la carpeta Resources y cargar el asset usando la ruta y nombre del archivo. Un inconveniente es que dicha carpeta se traslada íntegra al build del proyecto, si olvidaste limpiar algo, se incluirá en el juego aunque no se use. Otro, que no es recomendable usarlo en proyectos que se portarán a consolas. Y si cambia el nombre o ruta, hay que cambiarlo también en el código. En fin, que la carpeta Resources es un mecanismo que está ahí, pero que deberías hacer todo lo posible por evitarlo.
Los Addressables son la solución a esto, que se me había pasado por alto entre todas las cosas nuevas que ha incorporado Unity en los últimos tiempos. En realidad, su objetivo es sustituir los Asset Bundles, que como muchas cosas de Unity, ahora resulta que no eran tan fáciles de utilizar y tenían una buena cantidad de problemas.
Para empezar, la carga de assets marcados como addressables se realiza mediante la etiqueta del objeto, o cargando todo un grupo de una vez mediante la etiqueta del grupo. De momento solo he echado un brevísimo vistazo a lo que puede hacer, quedándome en la parte de cargar cosas. Las posibilidades van más allá, porque como mencioné anteriormente, también sustituyen los Asset Bundles, y esa es otra tarea pendiente que me queda, para un futuro no muy cercano. Ahora mismo, crear contenido adicional descargable no es mi prioridad. Más bien, la prioridad es eliminar el uso de la carpeta Resources, que tampoco es tan fácil, porque los addressables están diseñados para ser cargados en grupo y la función de carga funciona como una corutina (no conozco el término exacto para definirla). Sin embargo, esto es algo que he logrado solucionar, gracias a un pequeño tutorial.
Ya que hablamos de funciones nuevas de Unity, en otro post les comentaré acerca del UI Builder, que estoy utilizando para crear mi editor de diálogos, lo cual sea probablemente mucho más interesante.
 

Comentarios