¿Por qué no puede Unity trabajar con el código C # 6 ? Siempre me da errores de compilación. Aquí hay algunos ejemplos de código:
using static System.Convert;
using static System.Environment;
$"€{punten}{NewLine}€{Money}{NewLine}€{KilledEnemies}{NewLine}€{bonus}{NewLine}€{total}";
Utilizo Visual Studio como mi editor de código y construyo sin errores. Si presiono play en Unity, no se construirá.
unity .net profile upgrade
en GoogleRespuestas:
Unity usa una versión antigua de Mono runtime que se basa en .NET3.5. Utiliza algo entre C # 3 y 4 en términos de características.
Encontré esto buscando en Google. No estoy seguro si funciona pero podría ser algo que valga la pena investigar.
fuente
Unity Technologies ha anunciado que Unity está actualizando a 4.6+. Está disponible a través de pruebas beta ahora.
fuente
Este video en YouTube muestra cómo alguien pudo lograr que la sintaxis C # 6 funcionara en Unity creando un nuevo proyecto, cambiando el .Net Framework de destino nuevamente a 3.5, configurando los directorios de salida de compilación y lanzamiento en la carpeta de activos del proyecto de Unity y agregando un referencia a la dll UnityEngine. La depuración parece funcionar igual.
fuente
El compilador en Visual Studio tiene más funciones que el compilador en Unity, lo que significa que algunos códigos (especialmente las funciones más recientes de C #) generarán un error en Unity, pero no en Visual Studio.
Sin embargo, puede cambiar su marco de destino para que coincida con el más cercano a lo que utiliza Unity en su editor. Lo hice en Xamarin al desarrollar bibliotecas para Unity, pero parece que también es posible en Visual Studio.
https://msdn.microsoft.com/en-us/library/dn940020.aspx
fuente