Mostrar más resultados
28607

Unity 3D: cómo hacer debbugging y por qué es necesario hacerlo

Unity 3D: cómo hacer debbugging y por qué es necesario hacerlo

Escrito por Jordi Mula

El debugging a través de Logs

Una de las primeras herramientas con la que podemos contar para realizar el debugging de nuestra aplicación o videojuego en Unity3d, es el uso de la clase Debug. Y dentro de esta clase el uso de la función Log. A través de esta función podremos sacar mensajes en consola de tres tipos: Normal, Warning, Error. A través de estas tres clasificaciones podremos filtrar los mensajes que queremos ver para centrarnos solo en uno u otro de los tres tipos. Esto nos permitirá saber por dónde está pasando nuestro código e imprimir en consola que valores está dando en ese punto.

Además del uso de la clase Debug, Unity también tiene otro tipo de logs que nos pueden ayudar a ver algunos tipos de errores, como por ejemplo los logs que se crean al realizar las tareas de compilación. En estos logs podemos ver si alguna de las librerías que se han tenido que cargar en el tiempo de compilación ha generado algún error, ver todo lo que se está cargando en la compilación, cuales son los códigos de terceros que se están cargando y su peso en la compilación, lo que nos permitirá detectar si estamos añadiendo algún plugin innecesario a nuestra compilación, haciendo que el tamaño de esta aumente de forma innecesaria o ampliando la posibilidad de añadir incompatibilidades innecesarias.

 

El profile de Unity3d

Esta herramienta está orientada más al aspecto del rendimiento, pero puede sernos útil en la fase de debugado. A través de esta herramienta podemos saber qué recursos está consumiendo nuestro videojuego y en qué apartado se está usando un mayor número de recursos. Podemos detectar así que estamos cargando más mallas 3d de las que deberíamos estar cargando en ese momento, o que el consumo por parte de nuestro código está siendo excesivo.

 

El uso de breakpoints

Los breakpoints son puntos que definimos en nuestro código, a través de estos breakpoints podemos para la ejecución del código en el momento en el que nosotros hayamos indicado. Una vez el código se ha parado podemos incluso avanzar la ejecución línea a línea, esto nos permite ver detalladamente por dónde está pasando nuestra ejecución y valorar así si hay algún error y no está ejecutándose el código que nosotros teníamos pensado. Además, podemos añadir una serie de watch (inspectores) que nos indiquen el valor de alguna variable durante cada breakpoint o durante la ejecución paso a paso, lo que nos permitirá conocer el valor de las variables que nos interesen en cualquier momento. Haciendo que el uso de los breakpoints sean de lo más interesante y útiles en el proceso de debugado.

 

Los Unit Test

Los test unitarios (o unit test), nos permiten crear un código que alimentará nuestras funciones para probar de forma aislada determinadas partes del código. Esto nos permite estresar estas partes de código o estas funciones con valores diferentes. Haciendo que el resultado final de nuestro código sea una estructura robusta. Además, cuando pensamos en el diseño de nuestro código haciendo uso de test unitarios conseguimos una estructura del código mucho más limpia y eficiente. Ya que el código que creamos tiene que poder ser llamado por esos test lo que implica que esté más encapsulado.

 

Hemos visto que las herramientas de debugado son realmente útiles para buscar los errores en nuestro código incluso en tiempo de ejecución y que nos permiten analizar el comportamiento de nuestro desarrollo frente a diferentes situaciones. También podemos comentar que hay algunas soluciones de terceros que nos permiten añadir algunas herramientas extra de debugado pero con las opciones que ya integra por sí mismo Unity3d no deberíamos tener necesidad del uso de estas soluciones. Hay que tener en cuenta que el proceso de creación de un videojuego, o de cualquier aplicación que implique el desarrollo de código, es muy complejo y que a pesar de disponer de todas las herramientas que hemos visto todos sabemos y hemos sufrido los diferentes fallos, errores o bugs que se pueden encontrar en cualquier desarrollo. Es por eso que la fase de debugging es muy importante, ya que si no realizamos este tipo de tareas todos esos fallos, errores y bugs se verían multiplicados, afectando a la calidad final de nuestro producto.

 

¿Estás preparado para debugar tu código? Déjanos tu comentario

 

Curso relacionado: Curso Superior de Diseño y Desarrollo de Videojuegos con Unity 3D