10 formas de acelerar tus flujos de trabajo de programación en Unity con Visual Studio 2019

Visual Studio 2019 ofrece depuración de primer nivel y muchas herramientas nuevas y opciones de personalización para que pueda configurar su entorno de codificación exactamente como lo desee. También viene con una gama de funciones potentes para trabajar con C# en Unity que le ayudan a escribir y refactorizar código más rápido que antes. En esta publicación de blog, veremos 10 consejos sobre algunas de estas funciones que también pueden acelerar su flujo de trabajo.
Nuestro evangelista de Unity , Arturo Nereu , y Abdullah Hamed, gerente de programas de Visual Studio Tools para Unity en Microsoft, organizaron recientemente una sesión de Unite Now para compartir consejos y trucos sobre cómo aprovechar al máximo Visual Studio 2019 al desarrollar en Unity.
Esta publicación muestra una descripción general rápida de algunos de estos consejos. También agregamos enlaces directos a esas secciones de la charla, así como otro contenido relacionado, si desea profundizar.
Usar Console.Log es una forma fácil y rápida de ayudar a depurar su proyecto utilizando la vista de consola de Unity. Sin embargo, Visual Studio ofrece una forma más eficiente que se vuelve cada vez más valiosa a medida que el proyecto se vuelve más complejo. En Visual Studio, simplemente haga clic en el botón Adjuntar a Unity en el menú de Visual Studio. Esto crea una conexión entre las dos aplicaciones para que puedas insertar puntos de interrupción y recorrer el código mientras estás en modo de reproducción en Unity. También puedes hacer clic en Adjuntar a Unity y reproducir para iniciar la ejecución sin salir de tu IDE. Lo bueno de esto es que te permite inspeccionar el estado del flujo de tu código y los valores de las propiedades, etc. en tiempo de ejecución. Si bien esto puede parecer trivial, poder pausar la ejecución en cualquier momento durante el juego y avanzar para inspeccionar el estado específico del juego y los valores de sus propiedades en ese cuadro exacto, es una herramienta muy poderosa al depurar.
Otra opción útil al trabajar con puntos de interrupción es que puedes insertar tus propias condiciones con acciones relacionadas, como una expresión condicional que debe evaluarse como verdadera antes de aplicarse en tu flujo de depuración.
Visual Studio 2019 presenta los analizadores de Unity. Un analizador funciona detectando un patrón de código y puede ofrecer reemplazarlo con un patrón más recomendado. Los analizadores de Unity son una colección de diagnósticos de código y correcciones de código específicos de Unity que son de código abierto y están disponibles en GitHub. Los analizadores pueden brindarle una mejor comprensión de los diagnósticos específicos de Unity o simplemente ayudar a su proyecto eliminando diagnósticos generales de C# que no se aplican a los proyectos de Unity. Un ejemplo podría ser una declaración condicional simple en la que necesitas verificar si el GameObject tiene una etiqueta específica para aplicarle un determinado comportamiento.
if(collision.gameObject.tag == "enemy")
{
// Lógica que se aplica al GO enemigo
}
El analizador podrá analizar su código, detectará el patrón y ofrecerá utilizar el método más optimizado en su lugar. En este caso, el analizador sugeriría el método CompareTag que es más eficiente.
if(collision.gameObject.CompareTag("enemy"))
{
// Lógica que se aplica al GO enemigo
}
Si bien el ejemplo anterior representa un pequeño ajuste de optimización sin impacto significativo en un solo script adjunto a un solo GameObject, esto puede ser diferente para un proyecto a gran escala con miles de GameObjects con el script adjunto. Es la suma de todas las partes cuando se busca la optimización del rendimiento y los analizadores pueden facilitarle la identificación y mejora de su rendimiento simplemente reduciendo la sobrecarga innecesaria al optimizar la sintaxis del código.
También puedes encontrar una lista de los analizadores aquí y si estás interesado en obtener más información visita esta publicación del blog o salta directamente a esta parte de la charla de Unite Now.
Un desafío común al crear scripts es la necesidad de volver más tarde y revisar el código. Esto podría ser el resultado de la implementación de fragmentos de código que eventualmente necesitarán refactorización para un mejor rendimiento más adelante, pero que satisfacen las necesidades actuales mientras se prueban las mecánicas del juego. Visual Studio tiene una característica útil para realizar un seguimiento de esto llamada Lista de tareas , que le permite rastrear comentarios de código que usan tokens como TODO y HACK, o incluso tokens personalizados. También puedes administrar accesos directos que te lleven directamente a una ubicación predefinida en el código. Para crear una tarea para más tarde, simplemente agregue el token en su código:
// HACER: Cambiar la detección de colisiones una vez que los nuevos colisionadores estén listos
La ventana Lista de tareas, a la que puede acceder desde Ver en el menú, le brinda una descripción general de todas las tareas que etiquetó y lo vincula a esas partes específicas del código con solo un clic.

A medida que crece la lista de elementos de acción en su proyecto, puede incluso configurar sus propios tokens personalizados en la lista de tareas y asignar prioridades y organizar su proceso de refactorización de manera efectiva. Para personalizar los tokens de su Lista de tareas: vaya a Herramientas > Opciones.
Vea el ejemplo completo en la sesión Unite Now aquí.
Los fragmentos de código son pequeños bloques de código reutilizable que se pueden insertar en un archivo de código mediante un comando del menú contextual o una combinación de teclas de acceso rápido. Por lo general, contienen bloques de código de uso común, como bloques try-finally o if-else, pero también puedes usarlos para insertar clases o métodos completos. En resumen, te ofrecen una forma práctica de ahorrar mucho tiempo al crear el código repetitivo para ti.
Para rodear su código con un fragmento, como un espacio de nombres o una región, presione CTRL + K + S. Esto le permite aplicar el fragmento como se muestra en el siguiente video:
Puede encontrar una guía paso a paso sobre cómo crear sus propios fragmentos de código en la documentación de Microsoft (Visual Studio, Visual Studio para Mac).
Un flujo de trabajo común cuando refactorizas tu código es cambiar el nombre de tus variables a nombres más descriptivos y precisos. Cambiarlo en un lugar obviamente significa que también tienes que arreglar todas las referencias a esa variable. Sin embargo, Visual Studio ofrece un atajo fácil para hacer esto en una sola operación. Simplemente resalte el nombre de la variable que desea cambiar de nombre y haga clic derecho (o use el atajo de teclado CTRL + R) y luego cambie el nombre de la variable. Seleccione Vista previa de cambios para revisar las implicaciones del cambio antes de aplicarlo.
Puedes usar el mismo consejo para cambiar las clases de tu script, pero recuerda que debes cambiar el nombre del archivo C# en consecuencia para evitar errores de compilación. Obtenga más información sobre el flujo de cambio de nombre de clases en esta parte de la sesión Unite Now.
Comentar o descomentar bloques de código es otro flujo de trabajo común al refactorizar o depurar su código. Puede ser una tarea que lleve mucho tiempo si lo haces línea por línea. Sin embargo, Visual Studio le permite comentar bloques enteros de código mediante un comando de acceso directo simple: Ctrl+K+C y Ctrl+K+U para descomentarlo nuevamente. Si está en Mac, simplemente use CMD+K+C para comentar y CMD+K+U para eliminar los comentarios nuevamente.
Poder comentar bloques enteros rápidamente puede ser una forma eficiente de suprimir la lógica específica del juego durante los flujos de trabajo de prueba.
Si bien Unity Collaborate facilita guardar, compartir y sincronizar su proyecto con otros directamente desde Unity con una interfaz visual fácil de usar, algunos equipos y desarrolladores prefieren usar soluciones de control de fuente como GitHub. Trabajar con GitHub para el control de código fuente ahora es mucho más fácil con el complemento Github para Unity . La extensión es completamente de código abierto y le permite ver el historial de su proyecto, experimentar en ramas, crear una confirmación de sus cambios y enviar su código a GitHub sin salir de Unity. La autenticación de GitHub está integrada en Unity, incluida 2FA, y con solo hacer clic en un botón, puedes inicializar rápidamente el repositorio de tu juego sin tener que usar instrucciones de la línea de comandos. Le permite crear un archivo .gitignore específico de Unity para que no tenga que configurarlo manualmente. Con Visual Studio 2019 también viene una nueva interfaz que hace aún más fácil trabajar con GitHub directamente en el IDE.
Para activar la nueva interfaz en Visual Studio: Vaya a Herramientas > Opciones > Entorno > Vista previa de funciones > Nueva experiencia de usuario de Git.
También puedes seguir las instrucciones en video de la sesión Unite Now, que muestra una guía más detallada sobre cómo comenzar.
Live Share le permite compartir su instancia de Visual Studio directamente con su compañero de equipo usando solo un enlace, lo que le permite editar su código y colaborar en su proyecto en tiempo real. No es necesario clonar un repositorio ni configurar el entorno primero para poder compartir. Ambos solo necesitan tener instalado Visual Studio y luego es tan fácil como hacer clic en un botón para crear la sesión de Live Share.

Para comenzar, simplemente seleccione Live Share para generar un enlace a las partes de su código que desea compartir con cualquier persona que tenga instalado Visual Studio o Visual Studio Code. Se crea una sesión compartida entre usted y sus colaboradores, lo que les permite ver su código sin tener que instalar nada excepto el editor. Funciona casi instantáneamente.
Puede obtener más información sobre Live Share en nuestra sesión de Unite aquí, visitar la página del producto Visual Studio o saltar directamente a la guía de inicio rápido aquí.
Recordar la firma de todos los métodos MonoBehaviour es complicado y, si bien la documentación de Unity lo ayudará, Visual Studio proporciona una característica interesante que le permite buscarla directamente en el IDE. Simplemente haga clic en CTRL + Shift + M, busque la función que desea implementar y filtre el resultado de la búsqueda para encontrar el método. Seleccione la casilla de verificación y haga clic en Aceptar para insertar el código repetitivo del método directamente en su código, listo para usar.
Varios de los consejos anteriores están disponibles con atajos útiles y, al final del día, conocer esos atajos puede ser el mayor ahorro de tiempo de todos. Así que terminemos la lista con un resumen de los atajos de teclado para estos consejos y algunos más como beneficio adicional.
Qué Windows Mac Busque cualquier cosa en todo su proyecto. Utilice CTRL+T CMD + . Implementar mensajes de Unity CTRL + Shift + M CMD + Shift + M Comentar bloques de código CTRL + K / CTRL + C CMD + / Descomentar bloques de código CTRL + K / CTRL + U CMD + / Copiar del historial del portapapeles CTRL + Shift + V Ver lista de tareas CTRL + T No hay una combinación de teclas predeterminada, pero puede asociarla. Insertar un fragmento circundante como espacio de nombres CTRL + K + S: No hay una combinación de teclas predeterminada, pero puedes asignarla. Cambiar el nombre de una variable mientras se actualizan todas las referencias CTRL + R CMD +R Compilar el código CTRL+SHIFT+B CMD + Shift + B
Visual Studio 2019 está repleto de funciones y hay muchas opciones de personalización que pueden mejorar su productividad al trabajar con Unity según sus flujos de trabajo específicos. Hay demasiados para cubrirlos todos aquí. Esperamos que los pocos consejos que compartimos aquí te inspiren a sumergirte en el tema y que el formato te resulte útil. Déjanos saber si tienes algún consejo que no hayamos cubierto y no dudes en compartirlo con la comunidad en los comentarios. También nos encantaría saber si desea más sugerencias y trucos sobre cómo mejorar sus flujos de trabajo en Unity y si hay algún tema en particular que le gustaría que se cubra en una futura publicación del blog.
Trabajamos constantemente para mejorar los flujos de trabajo y nuestros equipos trabajan en estrecha colaboración con Microsoft para brindarle la mejor experiencia IDE. Por eso nos encantaría saber de usted si tiene alguna idea o comentario. No dudes en contactar a John Miller en @jmillerdev, Gerente de programas sénior de Visual Studio Tools para Unity en Microsoft, o compartir tus comentarios con nosotros en nuestro foro de secuencias de comandos.