
No sé si por mi pasado en desarrollo de aplicaciones .NET (sobretodo de ASP .NET y MVC en los ultimos años) llevo más de 12 años usando Visual Studio (por la versión VS2003 recuerdo que empecé). Durante este tiempo he podido probar otros IDEs, principalmente Eclipse (en los ultimos tiempos más Android Studio), Mono Develop y en menor medida XCode, y me atrevo a asegurar, poniendo la mano en el fuego y creo que no me quemaría, que Visual Studio es de lejos el mejor IDE que haya para un desarrollador. Un IntelliSense potente y rápido en respuesta (de los que te ayudan de verdad en el desarrollo), Debugs completos, múltiples posibilidades con templates, personalizaciones, etc. Si además puedes combinarlo con una herramienta como ReSharper (un optimizador de código que funciona tremendamente bien) vais a mejorar muchísimo vuestros proyectos. Repito, la lista de bondades de este IDE respecto a los demás creo que es larga, y por ello recomiendo usarlo en vuestros desarrollos. Sin más, vamos a ver como combinar Visual Studio con Unity 3D.
Como NO hacer la integración
Mucha gente intenta integrar directamente, con una solución que creo que no es adecuada. En “Edit -> Preferences -> External Tools”, y cambiando el campo “External Script Editor” de “MonoDevelop (built-in)” a “browse y buscar el ejecutable de Visual Studio”. Como he comentado, creo que no es la correcta, ya que solo abre en Visual Studio el archivo sobre el que hacemos clic en el proyecto, y las referencias a las librerías de Unity no las encuentra, con lo que el factor más importante de Visual Studio, su IntelliSense no nos ayudará.

Por tanto, esta solución no es recomendable.
Como hacer la integración
Para ello necesitamos 4 ingredientes, y para usarlos prácticamente se tratan de un “siguiente, siguiente, finalizar”:
- Unity 3D
- Visual Studio
- Visual Studio Tools for Unity
- Strip’em
1 – Unity 3D
Si no la tienes ya, descargar e instalar una versión de Unity 3D (en el momento de este post estoy usando Unity 3D 5.1). Puedes hacerlo desde su página de descargas: http://unity3d.com/get-unity

Una vez descargado, instalarlo.
2 – Visual Studio
Si no la tienes ya, descargar e instalar una versión de Visual Studio (en el momento de este post estoy usando Visual Studio 2013). Puedes hacerlo desde su página de descargas: https://www.visualstudio.com/es-es/products/free-developer-offers-vs.aspx. (Os pongo el enlace de las versiones gratuitas)

Una vez descargado, instalarlo.
3 – Visual Studio Tools for Unity
Empezamos con la integración propiamente dicha de Visual Studio con Unity 3D.
Para ello, existe la herramienta desarollada por SyntaxTree, Visual Studio Tools for Unity. Como curiosidad, os menciono que desde Julio de 2014, Microsoft adquirió la compañía, lo que supone mejoras en la integración con Visual Studio, y asegurar dicha integración para versiones futuras. (los últimos movimientos de Microsoft abriéndose a la comunidad, con Windows 10 abierto, Raspberry Pi 2, etc, creo que son del todo acertados).
Entrar a http://unityvs.com/ y descargar la versión acorde a la instalación de Visual Studio que tengamos. En mi caso es Visual Studio 2013 Tools for Unity.
Descargar e instalar, en el que nos aparecerá un wizard de instalación de los de “siguiente > siguiente > finalizar”. Os recomiendo cerrar antes cualquier instancia que tengáis de Unity 3D o Visual Studio abiertas.
Una vez instalado, abrir la carpeta donde se instaló, por defecto “C:\Program Files (x86)\Microsoft Visual Studio Tools for Unity\2013” (el 2013 es porque instalé la versión VS2013, depende cual uséis vosotros). Ya podemos ver que existe un “unitypackage” listo para ser instalado.
Abrimos Unity 3D, y hacemos doble clic en el unitypackage, y nos abrirá en Unity una ventana modal para añadir al proyecto las librerias. Damos ok, y añadimos.
Podemos ver que en el menú contextual de Unity 3D, se ha añadido una opción nueva “Visual Studio Tools”, en la que clicamos sobre “Generate Project Files”.
Esto genera automaticamente los settings en Unity para que cuando hagamos clic en cualquier fichero de codigo, xml, etc, se abrá en Visual Studio.
Se puede observar en la imagen la diferencia que existe en el punto con el que comencé este post “Cómo NO hacer la integración”. Si ahora hacemos clic sobre cualquier fichero de código, nos abrirá en Visual Studio todos los archivos de código del proyecto, con sus librerías bien referenciadas, y pudiendo hacer uso del IntelliSense.
De esta forma si tendremos una integración bien hecha y que no nos dará problemas.
4 – Strip’em (Plug-in de Visual Studio)
Unity 3D trabaja con finales de linea como Unix, que se identifican mediante caracteres de salto de línea. En cambio, en Windows se identifican por una combinación de retorno de carro y avance de línea “\r\n”. Con este complemento se puede decidir como se guardaran los archivos, para evitar posibles inconsistencias con estos saltos de linea.
Para ello, descargar e instalar este complemento de Visual Studio en http://www.grebulon.com/software/stripem.php. Nos añade en la opción “Tools” del menú contextual de Visual Studio una opción llamada “Strip’em”. Aquí se puede configurar como queremos que trate Visual Studio los finales de linea en los archivos.


Creo que cuanto más completo sea el IDE de trabajo, más cómodo trabaja uno. Por ello os recomiendo integrar Visual Studio con Unity 3D.
Javi Giner
Latest posts by Javi Giner (see all)
- IIS Express Visual Studio, como configurar para permitir conexiones remotas - febrero 26, 2016
- Evento solidario sobre Innovación - diciembre 14, 2015
- Uso de Component en Unity - noviembre 10, 2015
Muy grande Javi. Gracias.
Muchas gracias Miguel. Entre todos tenemos que hacer una comunidad fuerte de Unity 3D
La verdad que Visual le da muchas vueltas a MonoDevelop desde lo visual hasta la estabilidad. Lo unico que visual no tiene para depurar el codigo, por lo que siempre hace falta mono develop 🙁
Hola Eliseo.
Al contrario, si sigues estos sencillos pasos, podrás depurar perfectamente en Visual Studio. Y el depurador de Visual Studio es brutal, sobretodo comparado con el de Mono Develop.
Puedes depurar con breakpoints, paso a paso, incluso decirle que salte cuando ciertas variables alcancen un valor determinado. En ese sentido, la mejora es grandisima respecto a Mono Develop.
Por eso me parece interesante que los desarrolladores de Unity 3D usen este plugin.
Qué gran información. La he pillado un poco tarde, pero la pienso conservar como un tesoro.
Sí que me surge una duda, aunque seguro que es una tontería: resulta que actualmente, con la versión 5.3.1 de Unity, sucede que al actualizarla se instala con ella Visual Studio (si no se tenía) y se vincula con la apertura de archivos de código de Unity. En concreto se instala la versión 2015. Desinstalé la anterior a ver cómo lo hacía.
Mi duda es si el resultado es la vinculación simple, que recomiendas NO hacer al principio por perder mucha funcionalidad, o si por el contrario esta vinculación automática es la completa. Supongo que será la más simple, y, si es así, ¿hay que seguir los mismos pasos o habrá que hacer algo ligeramente diferente?
Muchísimas gracias por la información y perdona la duda tonta.
Hola Ricardo,
Con las versiones nuevas como la 5.3 que hablas, Visual Studio queda totalmente integrado dentro de Unity, con lo que ya no es necesario seguir este tutorial. En principio debería integrarte perfectamente, sin necesidad de hacer algún paso adicional.
¡Gracias!
¡Muchas gracias!