¡Hola a todos! Hoy os traigo un post un poco distinto, vamos a ver una lista de los 27 plugins de Unity que necesitas conocer.
Estos plugins están pensados para ayudarte a agilizar muchísimo tu trabajo, o que puedas realizar ciertas funcionalidades sin necesidad de tener un gran conocimiento de la materia:
Vamos con la lista:
Plugins para mejorar el flujo de trabajo en Unity
SRDebugger
Sin duda alguna este plugin es uno de mis imprescindibles. SRDebugger nos permite mostrar una consola de desarrollador mientras estamos ejecutando el juego, tanto en editor como PC y dispositivos móviles.
Esto nos va a permitir mostrar los logs del juego, ideal para
Esto nos va a permitir:
- Mostrar los logs del juego, ideal para depurar y reportar bugs.
- Obtener la información del sistema.
- Abrir el profiler que tiene incorporado, podremos ver los FPS y el consumo de memoria.
- Reportar bugs con el sistema que tiene integrado.
- Crear cheats de manera muy sencilla, con una sola etiqueta ya tendremos el cheat publicado.
Build Report
Otro de mis imprescindibles, Build Report, el nombre ya lo dice todo, cuando hacemos una build nos muestra un informe con todos los assets que estamos utilizando, sus pesos, los assets no utilizados, los podemos filtrar.
Lo mejor de todo es que podemos guardar estos informes para tener un log de cómo ha ido creciendo el peso de la build y detectar dónde pasamos de tener una build de 70MB a una de 100MB.
Odin inspector
Si quieres volar ampliando la funcionalidad del editor o creando ventanas custom este es tu plugin. Odin Inspector te va a permitir de forma muy rápida serializar todo tipo de objetos y botones, podrás hasta serializar interfaces y diccionarios, cosa que Unity no permite de base.
Además si marcas un campo como requerido, podrás comprobar a través de su tool si hay algún prefab que ha perdido alguna referencia.
NaughtyAttributes
Naughty Attributes es una buena alternativa gratuita a Odin, no es tan potente como Odin pero por 0€ y todo lo que ofrece es un buen plugin a tener en cuenta para customizar el editor de Unity.
Assets Cleaner
Assets Cleaner nos permite localizar assets que no estemos utilizando para eliminarlos, también podemos ver las referencias que tienen estos assets.
La verdad es que plugins de este tipo hay bastantes, este solo es uno de ellos, lo que está claro es que siempre va bien contar con uno de ellos para poner un poco de orden en el caos.
AdvancedPlayerPrefs Window
¿Cuantas veces te ha pasado que querías consultar los datos almacenados en PlayerPrefs pero no tenías como? ¿O querías eliminar los valores en PlayerPrefs y lo has tenido que hacer a mano?
AdvancedPlayerPrefs Window es la solución que estas buscando. No solo nos permite mostrar el contenido de PlayerPrefs, si no que además podemos modificar y eliminar este contenido de forma muy fácil.
Rewired
Rewired es una de las formas más sencillas de hacer un control multiplataforma. Además de esto proporciona un montón de funcionalidad para poder hacer remapeos de teclas durante el juego, para que el usuario pueda personalizar los controles.
También nos facilita la conexión de multiples controles simultáneos, es compatible con mandos de consolas y la mayoría de controles que encontrarás en el mercado.
Herramientas para facilitarnos la vida con la UI
NGUI
Un clásico, NGUI lleva desde el inicio con nosotros, yo hace unos 10 años que estoy en la industria de los videojuegos y en mi primer contacto con Unity ya existía NGUI.
No hay mucho que decir de este plugin, nos facilita la vida para crear nuestra interfaz y ya incorpora su propia localización.
Si es cierto que desde hace años Unity ha mejorado sus sistema de UI y puede que ahora ya no sea tan imprescindible este plugin.
DOOZY UI
Para mí DOOZY UI parte de la base de: deja al programador que programe, y al artista que sea libre haciendo la UI que quiere con todas las animaciones y efectos que necesita.
Esto es así porque DOOZY UI incorpora un sistema de nodos desde el que puedes programar toda la lógica de tu UI y decidir que animaciones o efectos se van a reproducir cuando pase cierto evento.
DoTween
DoTween me ha salvado la vida más de una vez, este plugin nos permite hacer infinidad de animaciones y secuencias de forma muy fácil. Las podemos hacer tanto desde código como desde el editor.
Básicamente podemos hacer cosas como transform.DoMove(posición final, duración), con esta simple linea ya tenemos el movimiento de un objeto y durará el tiempo que le indiquemos.
Además podemos hacer muchas otras cosas, configurar el tipo de curva que va a seguir, escuchar eventos, concatenar animaciones, y mucho más.
I2Localization
Creo que el mejor plugin de localizaciones con el que he trabajado, de forma muy sencilla y visual puedes crear idiomas y empezar a añadir las keys de localización.
Después solo tendrás que ir al GameObject con el componente de texto y añadir el componente de localización. I2Localization es compatible con bastantes componentes y plugins de texto.
Además permite añadir contenido dinámico gracias a los tags.
Enhanced Scroller
Solo lo he utilizado en un proyecto, pero si tengo que hacer un scroll infinito ni me planto como hacerlo, Enhanced Scroller ya me da toda la funcionalidad que necesito para hacer un scroll infinito y que los elementos se vayan cargando al vuelo.
Además está implementado con el patrón MVC y es muy sencillo de modificar y ampliar. Otro punto a su favor es que cuenta con bastantes ejemplos de uso.
Visual Scripting (Bolt y PlayMaker)
En Unity tenemos 2 plugins que soy los reyes del visual scripting, estos son Bolt y PlayMaker. Con estas tools podremos programar la lógica de nuestro juego de forma visual, y le proporciona a todo el equipo una forma muy fácil de prototipar. Podríamos decir que es el equivalente de los BluePrints de Unreal.
Además en 2020 Unity adquirió Bolt con intención de integrarlo en Unity por defecto, lo cual es muy buena noticia, puedes leer el artículo completo en el blog de Unity.
Plugins/frameworks para facilitarle la vida al programador
Zenject, ahora conocido como Extenject
Zenject más que un plugin es un Framework de inyección de dependencias. Este framework lleva un tiempo sin mantenimiento y uno de los desarrolladores decidió mantenerlo bajo el nombre de Extenject.
Poco puedo decir sin extenderme mucho en la explicación, Zenject/Extenject nos permite inyectar las dependencias de nuestros componentes de la forma más elegante posible.
Pero eso solo es la superficie, con este Framework podremos dirigir el comportamiento de nuestro juego solo cambiando los archivos de configuración. Además de incorporar cosas como un buss de señales, inyecciones lazy y algunas otras cosas.
NSubstitute
NSubstitute, si has hecho testing seguro que conoces este framework para crear mocks o sustitutos, existen otras alternativas como Moq y FIE, pero creo que esta es una de las más utilizadas. En el canal hemos hecho algún vídeo de testing utilizando NSubstitute.
Fluent Assertions
Siguiendo en la linea de testing, Fluent Assertions es la mejor forma de hacer nuestros tests más legibles aún ya que cuenta con un montón de asserts muy verboses.
Puedes hacer cosas como estas:
string actual = "ABCDEFGHI";
actual.Should().StartWith("AB").And.EndWith("HI").And.Contain("EF").And.HaveLength(9);
UniRx
UniRx es el plugin, o framework, por excelencia para hacer programación reactiva en Unity. Básicamente lo podemos transformar casi todo en Observables y cuando pase un evento bajo ciertas circustancias que ejecute la lógica que queremos.
Este plugin es imprescindible para mí para hacer una UI bien desacoplada aplicando el patrón MVVM. Pero no termina aquí, también podemos convertir las corrutinas en Observables, crear temporizadores y muchas otras cosas interesantes.
UniTask
UniTask es la versión mejorada de las Task de System, 100% compatible con Unity y una gran alternativa a las corrutinas, además de estar súper optimizadas.
Con UniTask podemos hacer todo lo que ya podíamos hacer con Task y mucho más. También cuenta con su tracker que nos permitirá ver en que estado se encuentra cada tarea.
More Effective Coroutines
Al igual que UniTask, More Effective Coroutines nos proporciona unas conrruitas más efectivas que las de Unity. Aunque en el caso de UniTask lo que tenderemos a utilizar son funciones asíncronas (Task) en lugar de corrutinas, lo que en mi opinión nos proporciona un código más legible y con menos callbacks, pero esto te toca a ti juzgarlo.
En el canal hicimos un vídeo comparando corrutinas con funciones asíncronas, te dejo el vídeo aquí abajo.
Plugins para acelerar la parte artística
ProBuilder
ProBuilder no es un plugin como tal ya que está integrado en Unity, pero todo lo que nos aporta es impresionante. En 15 minutos podremos prototipar todo un nivel de nuestro juego, ya que lo interesante antes de empezar un desarrollo es validar nuestra idea.
Technie Collider Creator
Technie Collider Creator nos permite crear colisiones de objetos de forma muy acotada y es muy fácil de utilizar.
EasyRoads3D Pro v3
Cuando ví lo que podía hacer EasyRoads3D Pro v3 me quede alucinado, no es solo que podamos hacer carreteras en 3D de forma muy rápida, que ya por esto es bastante interesante, si no que además estas carreteras se adaptan al terreno. Si se encuentran a mayor altura van a crear una especie de puente que conecte con la carretera.
R.A.M 2019 – River Auto Material 2019
River Auto Material 2019 es como el plugin para hacer carreteras pero en su lugar lo utilizaremos para hacer ríos de lo más realistas y vistosos.
Final IK
Con Final IK podremos modificar animaciones existentes para adaptarlas a nuestros requisitos sin ningún problema. También podremos hacer que estas animaciones se adapten al terreno, si estamos en desniveles la animación lo detectará y pondrá los píes a la altura del suelo.
Puppet3D
¿No tienes experiencia previa haciendo esqueletos y animando? Tranquilo, Puppet3D te lo pone muy fácil. Con este plugin podrás hacer el propio rig dentro d Unity y animarlo de una forma extremadamente sencilla y con unos buenos resultados.
Cinemachine
Olvídate de volver a programar una cámara, con Cinemachine vas a tener todo eso y más de una forma muy sencilla. Esta herramienta ya viene integrada con Unity y la encontraremos en el package manager, con lo que no es un plugin como tal.
Además de configurar la cámara de forma muy sencilla, esta tool nos ayudará a crear cinemáticas de lo más realistas, es muy potente y sencilla de utilizar. Actualmente también se está utilizando para hacer películas con Unity.
Conclusión
Para terminar me gustaría dar las gracias a todos los miembros del servidor de Discord que me han ayudado a confeccionar esta lista aportando sus imprescindibles.
Si quieres unirte al grupo de Discord solo tienes que pulsar en la imagen de abajo.
¿Qué te han parecido estos plugins? ¿Los conocías ya? ¿Añadirías algún otro a la lista de imprescindibles? Házmelo saber mediante los comentarios que encontrarás más abajo.
Otras entradas
- Patrones de diseño – Command
- Cómo los principios SOLID y Clean Code pueden acelerar la producción de tu juego: consejos y ejemplos
- Unity y los Assembly Definitions
- Los 5 errores más habituales en el desarrollo de videojuegos y su resolución con SOLID y Clean Code
- Mejorando el flujo de trabajo del desarrollo de videojuegos con patrones de diseño: optimiza la producción de tus juegos
- Clean Code y rendimiento: Cómo mejorar tu juego con la arquitectura limpia
No sé si fui el único que leyó todo el post, pero al inicio, colocaste 10 plugins y terminaron siendo 22 jajaja
Lo único malo que para las herramientas visuales todas son de pagos.
F
Y menos mal soy programador porque para mi si es gratis todo jajaja
GG
Muy interesantes los plugins y cuando tenga presupuesto comprare alguno para iniciar.
La pregunta sería:
¿Lo compro una vez lo utilizo en todos los proyectos que quiera?
Aún no sé muy bien como funciona esa AssetStore.
jajaja! Empezaron siendo 10 y acabaron siendo 22 xD, espero que siga creciendo la lista.
Es cierto que muchos son de pago y por lo general tenemos problemas en invertir algo de dinero en herramientas, pero yo lo veo de la siguiente forma:
¿Hacer lo mismo que hace el plugin cuantas hora me costaría? ¿Y luego mantenerlo? ¿A cuánto se paga mi hora?
Por lo general el beneficio supera con creces el coste de hacerlo nosotros mismos.
Respecto a tu pregunta, la licencia depende de cada plugin, algunos los compras 1 vez y los utilizas todas las veces que quieras, otros incluso tienes que pagar por puesto. La mayoría son de compra 1 vez y utilízalo siempre.
Los comentarios están cerrados.