Unity y Visual Studio en Linux. ¿Alguien trabaja con Unity en Linux?

Buenas.

Llegó el momento de pedir sopitas con un tema concreto. Soy usuario esporádico de Unity y hasta ahora lo había utilizado en Windows, donde utilizaba Visual Studio para trabajar en el código (C#). Llevaba tiempo sin tocar el tema y ayer me puse a ello con la desagradable pero no inesperada sorpresa de los problemas que supone el cambio en este sentido, al pasar de Windows a Linux. Unity va bien en Linux, pero Visual Studio no es solamente que no vaya bien, es que directamente no va. Así que intenté utilizarlo a través de una máquina virtual mediante Qemu. De esta manera el Visual Studio me funciona lo suficientemente bien de manera aislada, para hacer pequeños proyectos individuales de .NET y relacionados. Pero no así en su conexión con Unity. Conseguí más o menos comunicarlos mediante Samba, haciendo que la carpeta de los proyectos de Unity estuviera accesible en la máquina virtual como unidad de red, pero con un resultado indeseado. Al no poder asignar Visual Studio como editor en los proyectos de Unity, este no me genera la estructura de ficheros adecuada para que Visual Studio pueda manejar adecuadamente los proyectos. Así que, no solamente me toca abrir los scripts que quiera editar manualmente en la máquina virtual, sino que, no puedo abrir el proyecto correctamente, no me genera toda su estructura bien.

He encontrado por ahí a alguien que logró hacerlo funcionar en conjunto, instalando también Unity en la máquina virtual y abriendo ahí los proyectos, desde donde sí se puede asignar correctamente Visual Studio como editor externo, ya que ambos están en Windows. Pero me parece un engorro. Introduce un paso más. 1º Trabajar en Unity Linux. 2º Abrirlo en Unity Windows. 3º Trabajar en el código en Visual Studio. Se me olvidaba comentar que no puedo hacer GPU passthrough con mi equipo actual. Es más, ni siquiera puedo activar la aceleración 3D en la máquina virtual, así que trabajar en Unity desde la máquina virtual queda descartado.

Así que, después de la chapa la pregunta es. ¿Alguien trabaja con Unity desde Linux? ¿Cómo lo hacéis? Ayer al final instalé Rider, que este IDE sí que trabaja bien junto a Unity en Linux. Pero sería un nuevo IDE al que tener que meter horas para aprender cómo se trabaja en él y poder sacarle partido. Mucho que abarcar y soy bastante principiante en todo esto. xD
El “miedo” a aprender otro IDE es psicológico más que técnico. Si sabes C#, sabes C#.

Que es un engorro reaprender de nuevo? Cierto, pero si migraste con la intención de no volver, yo lo que haría sería atarme el pañuelo en la cabeza y darle a Rider.

Trabajar con una VM solo te va a aportar latencia y hacerlo todo más engorroso. Rider es bastante superior en muchos aspectos a Visual Studio.
Hace mucho que toqué Unity, pero... ¿no tiene su propio editor y compilador integrado? ¿Para qué usar uno externo?
@sexto No. Que yo sepa, no tiene. Por ejemplo, nada más instalarlo en Linux y abrir un proyecto de prueba, he creado un script de C# y me ha abierto kate, el editor de texto que tengo puesto como predeterminado.

El flujo más habitual creo que suele ser esa combinación. Unity + Visual Studio. Eso en Wimdows, claro, porque no hay versión Linux (y de Mac creo que así asá) de Visual Studio.

Seguramente intente usar Rider. El tema es que la mayoría de recursos de aprendizaje que existen por ahí y concretamente algunos con los que ya estaba en materia, suelen referirse a Unity + Visual Studio. Si tuviera mucha experiencia programando y miles de horas con los IDEs, seguramente me la sudaría, pero no es el caso. De todos modos, Rider tampoco se me hace tan extraño ya que, sin ser ningún experto, ya he trasteado bastante con Android Studio.
SirAzraelGrotesque escribió:@sexto No. Que yo sepa, no tiene. Por ejemplo, nada más instalarlo en Linux y abrir un proyecto de prueba, he creado un script de C# y me ha abierto kate, el editor de texto que tengo puesto como predeterminado.

El flujo más habitual creo que suele ser esa combinación. Unity + Visual Studio. Eso en Wimdows, claro, porque no hay versión Linux (y de Mac creo que así asá) de Visual Studio.

Seguramente intente usar Rider. El tema es que la mayoría de recursos de aprendizaje que existen por ahí y concretamente algunos con los que ya estaba en materia, suelen referirse a Unity + Visual Studio. Si tuviera mucha experiencia programando y miles de horas con los IDEs, seguramente me la sudaría, pero no es el caso. De todos modos, Rider tampoco se me hace tan extraño ya que, sin ser ningún experto, ya he trasteado bastante con Android Studio.

Bueno, Kate si te pones es un gran editor.
Yo trabajo sobre todo con groovy (java), python, Vue (HTML y TS) y bash, y suelo usar VSCodium, que es similar a Visual Studio Code pero quitando paja de Microsoft. Me funciona muy bien, pero es editor, no es IDE.

Rider no lo he usado en la puta vida, pero es de Jetbrains, y la experiencia previa me dice que Jetbrains saben lo que hacen (tuve licencia pagada de PHPStorm durante años).
Así que, que no te de miedo darle una oportunidad, porque existen altas posibilidades de que una vez lo controles, no quieras volver a Visual Studio.
Una de las cosas que más me sorprendió de KDE es lo potente y bien que funciona Kate, aunque ya lo dije en un hilo de una noticia donde hablaban de Notepad++, Kate no es el único, cualquier editor de texto de Linux funciona por el estilo, como se nota cuando hay amor y pasión de por medio.
¿Has probado Godot Engine?
SirAzraelGrotesque escribió:Buenas.

Llegó el momento de pedir sopitas con un tema concreto. Soy usuario esporádico de Unity y hasta ahora lo había utilizado en Windows, donde utilizaba Visual Studio para trabajar en el código (C#). Llevaba tiempo sin tocar el tema y ayer me puse a ello con la desagradable pero no inesperada sorpresa de los problemas que supone el cambio en este sentido, al pasar de Windows a Linux. Unity va bien en Linux, pero Visual Studio no es solamente que no vaya bien, es que directamente no va. Así que intenté utilizarlo a través de una máquina virtual mediante Qemu. De esta manera el Visual Studio me funciona lo suficientemente bien de manera aislada, para hacer pequeños proyectos individuales de .NET y relacionados. Pero no así en su conexión con Unity. Conseguí más o menos comunicarlos mediante Samba, haciendo que la carpeta de los proyectos de Unity estuviera accesible en la máquina virtual como unidad de red, pero con un resultado indeseado. Al no poder asignar Visual Studio como editor en los proyectos de Unity, este no me genera la estructura de ficheros adecuada para que Visual Studio pueda manejar adecuadamente los proyectos. Así que, no solamente me toca abrir los scripts que quiera editar manualmente en la máquina virtual, sino que, no puedo abrir el proyecto correctamente, no me genera toda su estructura bien.

He encontrado por ahí a alguien que logró hacerlo funcionar en conjunto, instalando también Unity en la máquina virtual y abriendo ahí los proyectos, desde donde sí se puede asignar correctamente Visual Studio como editor externo, ya que ambos están en Windows. Pero me parece un engorro. Introduce un paso más. 1º Trabajar en Unity Linux. 2º Abrirlo en Unity Windows. 3º Trabajar en el código en Visual Studio. Se me olvidaba comentar que no puedo hacer GPU passthrough con mi equipo actual. Es más, ni siquiera puedo activar la aceleración 3D en la máquina virtual, así que trabajar en Unity desde la máquina virtual queda descartado.

Así que, después de la chapa la pregunta es. ¿Alguien trabaja con Unity desde Linux? ¿Cómo lo hacéis? Ayer al final instalé Rider, que este IDE sí que trabaja bien junto a Unity en Linux. Pero sería un nuevo IDE al que tener que meter horas para aprender cómo se trabaja en él y poder sacarle partido. Mucho que abarcar y soy bastante principiante en todo esto. xD




mmmh joe hace meses que dejé de usarlo pero me suena que unityhub está para linux y te instala el engine editor y todo propio de unity. Y vistual studio está para linux (tanto la versión de microsoft como la versión open source sin la "morralla" de microsoft perdiendo algunas extensiones).

No deberías de tener problemas para trabajar con Unity en linux como lo hacías antes.

No sé que distribución usas, pero yo ahora mismo no tengo Unity instalado pero si visual studio en su versión open source (Code - OSS) en CachyOS. Pero también está Visual studio code para instalar.
cpcbegin escribió:¿Has probado Godot Engine?


Un poco por encima y me gusta. Pero por ahora necesito aprender a manejarme lo mínimo con Unity + Visual Studio. Más adelante seguro que cambio a Unity + Rider. O incluso a Godot + lo que sea.

@LorK Unity Hub lo tengo instalado y funcionando, que contiene el editor de Unity, sí. Pero luego hace falta un editor de código para los scripts, que puede ser Visual Studio Code como tú mencionas o algún IDE como Rider o Visual Studio (que no es lo mismo que Visual Studio Code, son cosas distintas). Yo necesito circunstancialmente trabajar con este último y no está disponible para Linux.

Al final lo que estoy haciendo es trabajar todo en la máquina virtual, tanto en Unity, como en Visual Studio. Es una mierda, porque Unity así va a pedales, pero es lo que hay. No creo que haga nada mínimamente exigente, así que con que no me pete, me puede bastar. En el futuro, si llego a hacer algo más complejo, tendré que trabajar en Linux con Unity + Rider. De momento, puede que vaya alternando ambas cosas, para ir soltándome también con el Rider.
Y no funciona en Visual Studio Code, que le echas en falta? Porque yo solo lo he probado con C# por encima para hacer algunos Learnings de MS y probar Dev Containers pero en teoría permite desarrollar en C# bien, con sus plugins.

Si no te sirviera, me parece forzarse mucho usa Windows y ya está.
darksch escribió:Y no funciona en Visual Studio Code, que le echas en falta? Porque yo solo lo he probado con C# por encima para hacer algunos Learnings de MS y probar Dev Containers pero en teoría permite desarrollar en C# bien, con sus plugins.

Si no te sirviera, me parece forzarse mucho usa Windows y ya está.

Esto venía a decir yo. Desarrollo de forma profesional con C# en macOS por lo que nada de Visual Studio (deprecado hace ya años), pero con Visual Studio Code más la extensión C# Dev Kit no suelo echar nada en falta, al menos para backend (si quisiera hacer aplicaciones de escritorio con Winforms o WPF tendría que recurrir sí o sí a una VM).

Y la CLI de dotnet me viene bastante bien para el hot-reload.

Si acaso, a veces tiro de Rider por los distintos profiler que tiene.
10 respuestas