Version: 2017.1
Herramientas de Scripting
MonoDevelop

Ventana de la Consola

La ventana de la Console (menú: Window > Console) muestra errores, advertencias y otros mensajes generados por Unity. Para ayudar con la depuración, usted puede también mostrar sus propios mensajes en la Consola utilizando las funciones Debug.Log, Debug.LogWarning y Debug.LogError.

La barra de herramientas de la ventana de la consola tienen un número de opciones que afectan cómo los mensajes son mostrados.

El botón Clear quita cualquier mensaje generado desde su código pero retiene errores de compilación. Usted puede arreglar para que su consola sea limpiada automáticamente cuando usted corra el juego al activar la opción Clear On Play .

Usted también puede cambiar la manera en que los mensajes son mostrados y actualizados en la consola. La opción Collapse muestra solamente la primera instancia de un mensaje de error que sigue recurriendo. Esto es de gran ayuda para errores en tiempo de ejecución, como lo son referencias nulas, las cuales algunas veces son generadas de manera similar en cada update de frame. La opción Error Pause es llamada desde script ( pero tenga en cuenta que Debug.Log no va a pausar en esta manera). Esto puede ser de gran ayuda cuando usted quiera congelar la reproducción en un punto específico en ejecución e inspeccionar la escena.

Finalmente, hay dos opciones para ver información adicional acerca de errores. Los items Open Player Log y Open Editor Log en la pestaña de menú de la consola accede a los archivos log de Unity que guardan detalles que no pueden ser mostrados en la consola. Vea las páginas acerca de Log Files para más información.

Advertencias API obsoletas y Actualizaciones Automáticas

Junto con otros mensajes, Unity muestra advertencias acerca del uso de llamados obsoletos de API en su código. Por ejemplo, Unity una vez tuvo “atajos” en MonoBehaviour y otras clases para acceder tipos de componentes comunes. Entonces, por ejemplo, usted puede acceder un Rigidbody en el objeto utilizando código como este:

    // La variable "rigidbody" es parte de la clase y no es declarada en el script del usuario.
        Vector3 v = rigidbody.velocity;

Estos atajos se han vuelto obsoletos, por lo que usted debería utilizar código así:

    // Utilice GetComponent para acceder el componente.
        Rigidbody rb = GetComponent<Rigidbody>();
        Vector3 v = rb.velocity;

Cuando llamadas obsoletas de API son detectadas, Unity va a mostrar un mensaje de advertencia acerca de estos. Cuando usted haga doble-click en este mensaje, Unity va a intentar actualizar el uso obsoleto al equivalente recomendado automáticamente.

Stack trace logging

Usted puede especificar qué tan preciso el stack trace se debería capturar cuando el mensaje log es impreso a la consola o el archivo log.

Esto es especialmente útil cuando el mensaje de error no es muy claro, mirando el stack trace, puede deducir de qué área del motor aparece el error. Hay tres opciones para el registro del stack trace:

  • None - stack trace no será imprimido
  • ScriptOnly - solamente el stack trace managed será imprimido
  • Full - ambos stack trace nativo y managed serán imprimidos, tenga en cuenta - resolver un stack trace completo es una operación costoso y se debería usar por propósitos de depuración

Usted también puede controlar el stack trace logging mediante el scripting API, mirar Application.stackTraceLogType

Herramientas de Scripting
MonoDevelop