Herramientas de Scripting
MonoDevelop

Consola

La Console ventana (menú: Window > Console) muestra errores, advertencias y otros mensajes generados por Unity. Para ayudar con debugging, usted también puede mostrar sus propios mensajes en la Consola utilizando las funciones Debug.Log, Debug.LogWarning and 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:

    // The "rigidbody" variable is part of the class and not declared in the user script.
    Vector3 v = rigidbody.velocity;

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

    // Use GetComponent to access the component.
    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

You can specify how accurate stack trace should be captured when log message is printed to the console or log file.

This is especially helpful when the error message is not very clear, by looking at the stack trace, you can deduct from what engine area the error appears. There are three options for logging stack trace:

  • None - stack trace won’t be printed
  • ScriptOnly - only managed stack trace will be printed
  • Full - both native and managed stack trace will be printed, note - resolving full stack trace is an expensive operation and should be only used for debugging purposes

You can also control stack trace logging via scripting API, see Application.stackTraceLogType

Herramientas de Scripting
MonoDevelop