No es mi objetivo de vida hablar de la eterna cruzada sobre la indentación con espacios y tabuladores. Ya hay personas que se han dado la tarea de explicar este asunto y el punto es que en un mundo utópico indentar con espacios está por defecto. Pero como no es un mundo utópico, hay que configurar las herramientas.

Configuración de las plantillas

Lo primero es modificar las plantillas que vienen con Unity utilizando algún editor que facilite el cambio de tabulaciones a espacio (en mi caso Sublime Text 2). Hay que tener permisos de administrador en el caso de Windows y la ruta es la siguiente:

Windows:

Mac:

Antes y después

Antes y después

Configuración de MonoDevelop

Esta configuración tiene un poquito de truco porque al parecer no toma la configuración por defecto para nuevos proyectos (aunque MonoDevelop diga que sí). La forma más segura es revisar la configuración en cada proyecto nuevo:

Ahí hay que seleccionar el tipo de archivo (o enlazar todas las reglas al tipo general de texto Text) y habilitar la casilla Convert tabs to spaces.

tabs_to_spaces

Es ideal hacer esto al inicio de cada proyecto. Para el caso de proyectos ya existentes el trabajo es un poco más engorroso porque hasta donde tengo entendido MonoDevelop no tiene una opción como Sublime Text 2 que cambie todas las tabulaciones en un archivo de manera automática. Seguramente también MonoDevelop lanzará un mensaje de error en estos cambios o al cambiar la configuración de final de línea.

line_endings

En nuestra experiencia con Dark Recon y Git, lo ideal es dejar la configuración de final de línea tipo Unix (en la otra foto, donde Native, bueno, así no. Que diga Unix) y así tener uniformidad multiplataforma.