
Unity admite una variedad de editores de código, incluidos JetBrains Rider, Atom y Microsoft Visual Studio Code y Visual Studio. Visual Studio es un paquete integrado que se instala por defecto con el Editor de Unity.
Este artículo proporciona consejos para usar la edición 2022 del depurador de Microsoft Visual Studio, que te permite corregir errores en tu código de manera eficiente. Si deseas aprender más sobre consejos generales de productividad en Visual Studio, consulta nuestra publicación en el blog “10 maneras de acelerar tus flujos de trabajo en Visual Studio.”

Visual Studio 2022 tiene soporte integrado para Unity, lo que te permite escribir y editar scripts fácilmente, acceder a funciones específicas de Unity y depurar el código de tu juego sin salir del IDE. Proporciona características como la finalización de código IntelliSense, resaltado de sintaxis y fragmentos de código, que te ayudan a escribir código más rápido y de manera más eficiente. Además, obtienes herramientas de depuración, incluida la capacidad de establecer puntos de interrupción, avanzar a través del código, inspeccionar variables y evaluar expresiones en tiempo de ejecución.
Visual Studio está disponible en varias versiones, incluida una versión comunitaria gratuita.
Este artículo se basa en la edición 2022 de Visual Studio. La versión 2019 tiene las mismas características, pero las capturas de pantalla diferirán un poco. Por defecto, una nueva instalación de Unity instalará la versión comunitaria de Visual Studio, junto con una extensión llamada Desarrollo de Juegos con Unity que integra Visual Studio con Unity. Si no eliges instalar Visual Studio, puedes obtener una copia aquí. Los detalles sobre cómo configurar Visual Studio para trabajar con Unity están disponibles aquí.
Una vez que hayas instalado Visual Studio en el Editor de Unity, abre Unity > Preferencias > Herramientas Externas y selecciona Visual Studio como el Editor de Scripts Externo.

Para habilitar la depuración en tiempo real del código de tu proyecto mientras se ejecuta en el Editor, el depurador de Visual Studio necesita adjuntarse al Editor. Esto permite que el depurador acceda e interactúe con el estado de ejecución de tu juego. Vamos a repasar los pasos para adjuntarlo:
Abre el proyecto de Unity que deseas depurar.
En Unity, ve a Editar > Preferencias (Windows) o Unity > Preferencias (macOS), y asegúrate de que Visual Studio esté configurado como el editor de scripts externo preferido. Si no, selecciónalo del menú desplegable.
Abre el script deseado en Visual Studio haciendo doble clic en el archivo de script en la vista del Proyecto o a través de la opción de menú Assets > Abrir Proyecto C#.
En Visual Studio, ve a Depurar > Adjuntar Depurador de Unity o haz clic en el botón Adjuntar a Unity en la barra de herramientas. Se abrirá una ventana con una lista de instancias de Unity disponibles.
Selecciona la instancia de Unity que está ejecutando tu proyecto (generalmente se muestra como “Editor de Unity (nombre de tu proyecto),” y haz clic en Adjuntar.
Visual Studio ahora está conectado a Unity, y puedes comenzar a establecer puntos de interrupción y depurar tu código. Cuando el juego se está ejecutando en el Editor, el depurador de Visual Studio pausará la ejecución en los puntos de interrupción, permitiéndote examinar el estado del juego y depurar tu código, como se muestra en la siguiente sección.
Si esta es tu primera sesión de depuración, verás una ventana que te presenta la opción de habilitar la depuración para la sesión actual o para todas las sesiones. Se recomienda elegir la primera, “Habilitar depuración para esta sesión.”

Un punto de interrupción es un marcador en una línea específica de código. Cuando el depurador encuentra un punto de interrupción, detiene la ejecución del programa, permitiéndote inspeccionar el estado actual de las variables, objetos y la pila de llamadas. Luego puedes avanzar a través del código línea por línea, observando cómo cambia el estado a medida que se ejecuta el programa.
Para establecer un punto de interrupción en Visual Studio, abre el script y haz clic en el margen izquierdo del editor de código junto a la línea de código donde deseas pausar la ejecución. O, coloca el cursor en la línea y presiona F9. Aparecerá un punto rojo, indicando que se ha establecido un punto de interrupción, como se muestra en la imagen superior.
Ahora ve al Editor de Unity y juega el juego. Cuando la ejecución del programa alcance la línea con el punto de interrupción, Visual Studio se convertirá en la aplicación activa en primer plano con la ejecución del programa pausada en la línea del punto de interrupción. En este punto, puedes usar las herramientas de Visual Studio para inspeccionar variables.
La opción más simple es pasar el cursor sobre un objeto, propiedad o variable simple. Visual Studio añadirá un panel superpuesto (imagen inferior en el collage anterior), permitiéndote ver las sobrecargas de una función, las propiedades de un objeto y los valores de una propiedad o variable.
Si el superpuesto tiene una flecha apuntando a la derecha, al hacer clic en esto se expandirá el panel para ofrecer más información sobre los valores internos de las propiedades del objeto.
Esta capacidad de examinar valores en un programa en ejecución es increíblemente útil.
Una vez que Visual Studio está conectado a Unity, se añade una nueva barra de herramientas a la derecha de Depurar > Conectar a Unity. Los cuatro botones en esta barra de herramientas hacen lo siguiente, de izquierda a derecha:

Un punto de interrupción condicional es una forma avanzada de punto de interrupción que solo pausa la ejecución si se cumple una condición específica. Esto puede ser útil cuando deseas investigar un escenario específico o cuando un problema ocurre solo bajo ciertas condiciones.
Si haces clic derecho en el punto de interrupción en la barra lateral o en la ventana del panel inferior, se mostrará el menú contextual. Elige Editar punto de interrupción. Se mostrará el cuadro de diálogo que se muestra en la imagen anterior.
Más herramientas de depuración
En Visual Studio, la ventana del depurador proporciona varias ventanas que te ayudan a inspeccionar el estado de tu aplicación mientras está en pausa en un punto de interrupción. Tres ventanas esenciales para examinar el estado de tu programa son Locales, Vigilancia y Pila de llamadas. Las siguientes secciones analizan cada una.

La ventana de Locales muestra las variables locales y sus valores en el ámbito actual del código en ejecución. Esto incluye variables que se declaran dentro del método o bloque actual, así como los argumentos del método. La ventana de Locales te permite inspeccionar rápidamente los valores de las variables en el punto de interrupción actual, lo que puede ser útil para identificar valores incorrectos o inesperados que pueden estar causando problemas en tu código. Recuerda, si una línea comienza con una flecha que apunta a la derecha, es expandible, mientras que una flecha que apunta hacia abajo reducirá la ventana expandida.

La ventana de Vigilancia te permite hacer un seguimiento de variables o expresiones específicas que deseas monitorear durante el proceso de depuración. A diferencia de la ventana de Locales, que muestra variables en el ámbito actual, la ventana de Vigilancia te permite agregar manualmente variables o expresiones, independientemente de su ámbito. Esto puede ser útil para rastrear el estado de ciertas variables a lo largo de la ejecución de tu programa o para evaluar expresiones basadas en el estado actual de tu aplicación.
Ingrese el nombre de una variable u objeto en el alcance y se añadirá un panel para permitirle inspeccionarlo. Para agregar un watch en Visual Studio, haga clic derecho en una variable o expresión en su código y seleccione Añadir Watch del menú contextual, o escriba la expresión directamente en la ventana de Watch.

La ventana de la pila de llamadas muestra la secuencia de llamadas a métodos que llevaron al punto de interrupción actual, permitiéndole rastrear la ruta de ejecución de su programa. Cada entrada en la pila de llamadas representa una llamada a un método, con la llamada más reciente en la parte superior de la lista. Al inspeccionar la pila de llamadas, puede determinar cómo su código llegó al punto actual de ejecución, ayudándole a identificar la causa raíz de problemas o comportamientos inesperados.
Además de mostrar la secuencia de llamadas a métodos, la ventana de la pila de llamadas le permite navegar a través de los diferentes niveles de la pila. Al hacer doble clic en una entrada de la lista, puede saltar a la línea de código correspondiente en el archivo fuente y ver las variables locales y parámetros para ese método. Esto facilita la comprensión del contexto en el que se llamó a un método particular y el análisis del flujo de datos a través de su aplicación.

El depurador de Visual Studio no solo es útil para el juego que se ejecuta en el Editor de Unity, sino también para las compilaciones. Deberá asegurarse de que la compilación incluya los datos utilizados por el depurador. Haga esto a través de Archivo > Configuraciones de Compilación, y, en la ventana que se muestra, elija Compilación de Desarrollo y Depuración de Scripts (ver imagen arriba)
Seleccione Depurar > Adjuntar Depurador de Unity del menú principal para Windows, o Depurar > Adjuntar a Proceso del menú superior para MacOS.
Elija la instancia llamada Unity Player. Ahora todos los puntos de interrupción, locales y watches están disponibles en la compilación de desarrollo.

¿Está planeando usar otro editor de código? Lea nuestro artículo sobre consejos para Microsoft Visual Studio Code.
Unity proporciona una serie de guías avanzadas para ayudar a los desarrolladores profesionales a optimizar su código de juego. Crea una guía de estilo de C# : Escribe código más limpio que escale compila consejos de expertos de la industria sobre cómo crear una guía de estilo de código para ayudar a tu equipo a desarrollar una base de código limpia, legible y escalable.
Otra guía popular entre nuestros usuarios es 70+ consejos para aumentar la productividad con Unity. Está llena de consejos que ahorran tiempo para mejorar tu flujo de trabajo diario agregado con Unity 2020 LTS, incluidos consejos que incluso los desarrolladores experimentados podrían haber pasado por alto.
Encuentra todos los libros electrónicos y artículos avanzados de Unity en el centro de mejores prácticas de Unity.